34 #ifndef __diguyGraphicsLink_H
35 #define __diguyGraphicsLink_H
40 #define CPLUSPLUS_ONLY
86 const char* get_name();
126 int get_num_shapes();
201 int get_offset_translation(
float* tx,
float* ty,
float* tz);
223 int get_offset_rotation(
float* rz,
float* rx,
float* ry);
250 int get_translation(
float* tx,
float* ty,
float* tz);
273 int get_translation_double(
double* tx,
double* ty,
double* tz);
293 int get_translation_is_static();
308 const char* get_var_name_tx();
323 const char* get_var_name_ty();
338 const char* get_var_name_tz();
361 int get_rotation(
float* rz,
float* rx,
float* ry);
380 int get_rotation_is_static();
391 const char* get_var_name_rz();
402 const char* get_var_name_rx();
413 const char* get_var_name_ry();
436 int get_scale(
float* sz,
float* sx,
float* sy);
455 int get_scale_is_static();
466 const char* get_var_name_sx();
477 const char* get_var_name_sy();
488 const char* get_var_name_sz();
538 int get_is_position_link();
550 int get_num_child_links();
578 #ifdef CPLUSPLUS_ONLY
603 int get_transformation_matrix(
float matrix_array[4][4],
int transpose = 0);
612 int get_transformation_matrix_4x4_ptr(
float* matrix,
int transpose = 0);
638 int get_local_transformation_matrix(
float matrix_array[4][4],
int transpose = 0);
647 int get_local_transformation_matrix_4x4_ptr(
float* matrix,
int transpose = 0);
674 int get_link_transformation_matrix(
float matrix_array[4][4],
int transpose = 0);
683 int get_link_transformation_matrix_4x4_ptr(
float* matrix,
int transpose = 0);
689 #ifdef CPLUSPLUS_ONLY
723 const float* get_data_ptr();
739 const float* get_quat_data_ptr();
766 int get_translation_data_index();
791 int get_rotation_data_index();
819 int get_quat_data_index();
844 int get_scale_data_index();
864 int get_unique_color(
unsigned char* r,
881 #ifdef CPLUSPLUS_ONLY
931 virtual void build();
957 virtual void post_build();
984 virtual void unbuild();
1010 virtual void attach_to_scene();
1033 virtual void detach_from_scene();
1085 virtual void detach_from_link();
1115 virtual void update();
1139 virtual void push();
1186 virtual void draw();
1248 virtual void begin_character_draw();
1272 virtual void end_character_draw();
1330 static void set_use_linear_traversal_draw(
int mode);
1338 static int get_use_linear_traversal_draw();
1353 int get_inverse_rotation_matrix(
float matrix_array[4][4],
int transpose = 0,
1354 int include_translation = 1);
1357 int get_inverse_rotation_matrix_4x4_ptr(
float* matrix_array,
int transpose = 0,
1358 int include_translation = 1);
1383 int get_is_base_link();
1390 int get_shader_matrix_index();
1400 #ifdef CPLUSPLUS_ONLY
1402 bdiLink* get_scripted_object() {
return m_scripted_object;}
1423 bdiLink* m_scripted_object;
1425 friend class bdiLink;
1426 friend class bdiGraphicsFactory;