14 #ifndef __diguyGraphicsLink_H
15 #define __diguyGraphicsLink_H
20 #define CPLUSPLUS_ONLY
76 const char* get_name();
111 int get_num_shapes();
168 void set_shape_switch_override(
const char * switch_name,
int value);
205 int get_translation(
float* tx,
float* ty,
float* tz);
228 int get_translation_double(
double* tx,
double* ty,
double* tz);
248 int get_translation_is_static();
269 int get_initial_translation(
float* tx,
float* ty,
float* tz);
283 const char* get_var_name_tx();
297 const char* get_var_name_ty();
311 const char* get_var_name_tz();
334 int get_rotation(
float* rz,
float* rx,
float* ry);
357 int get_rotation_euler(
float* rz,
float* rx,
float* ry);
380 int get_rotation_quat(
float* qx,
float* qy,
float* qz,
float* qw);
399 int get_rotation_is_static();
410 const char* get_var_name_rz();
421 const char* get_var_name_rx();
432 const char* get_var_name_ry();
488 int get_is_position_link();
500 int get_num_child_links();
524 #ifdef CPLUSPLUS_ONLY
544 int get_transformation_matrix(
float matrix_array[4][4],
int transpose = 0);
553 int get_transformation_matrix_4x4_ptr(
float* matrix,
int transpose = 0);
573 int get_local_transformation_matrix(
float matrix_array[4][4],
int transpose = 0);
582 int get_local_transformation_matrix_4x4_ptr(
float* matrix,
int transpose = 0);
584 int get_local_translation(
float * x,
float *y,
float *z);
605 int get_link_transformation_matrix(
float matrix_array[4][4],
int transpose = 0);
614 int get_link_transformation_matrix_4x4_ptr(
float* matrix,
int transpose = 0);
620 #ifdef CPLUSPLUS_ONLY
654 const float* get_data_ptr();
670 const float* get_quat_data_ptr();
697 int get_translation_data_index();
722 int get_rotation_data_index();
750 int get_quat_data_index();
771 int get_unique_color(
unsigned char* r,
788 #ifdef CPLUSPLUS_ONLY
838 virtual void build();
864 virtual void post_build();
891 virtual void unbuild();
917 virtual void attach_to_scene();
940 virtual void detach_from_scene();
969 virtual void update();
1012 virtual void draw();
1043 virtual void instancing_state_changed(
int instanced);
1053 virtual void fill_out_tbo_position_matrix(
diguyGraphicsShape * current_shape,
int lod,
float * tbo_data)
const;
1063 virtual void fill_out_tbo_additional_data(
diguyGraphicsShape * current_shape,
float * tbo_data);
1099 virtual void begin_character_draw();
1123 virtual void end_character_draw();
1142 int get_inverse_rotation_matrix(
float matrix_array[4][4],
int transpose = 0,
1143 int include_translation = 1);
1146 int get_inverse_rotation_matrix_4x4_ptr(
float* matrix_array,
int transpose = 0,
1147 int include_translation = 1);
1152 int get_approximate_bounding_box(
float * bbox_min_x,
float * bbox_min_y,
float * bbox_min_z,
1153 float * bbox_max_x,
float * bbox_max_y,
float * bbox_max_z);
1177 int get_is_base_link();
1208 int get_scale(
float* sz,
float* sx,
float* sy);
1227 int get_scale_is_static();
1238 const char* get_var_name_sx();
1249 const char* get_var_name_sy();
1260 const char* get_var_name_sz();
1285 int get_scale_data_index();
1289 void set_selected(
bool value);
1290 bool get_selected();
1303 #ifdef CPLUSPLUS_ONLY
1305 bdiLink* get_scripted_object() {
return m_scripted_object;}
1326 bdiLink* m_scripted_object;
1328 friend class bdiLink;
1329 friend class bdiGraphicsFactory;
A class that represents the unique per-character shader object.
Definition: diguyGraphicsShaderInstance.h:55
diguyGraphicsJointType
DI-Guy graphics joint types.
Definition: diguy_constants.h:498
The class that represents a DI-Guy Entity in the world.
Definition: diguyCharacter.h:82
A class that represents the unique per-character non-shared joint of a character. A diguyCharacter is...
Definition: diguyGraphicsLink.h:47
A class that represents the unique per-character non-shared mesh object. DI-Guy encapsulates its text...
Definition: diguyGraphicsShape.h:49