14 #ifndef __diguyGraphicsLink_H
15 #define __diguyGraphicsLink_H
20 #define CPLUSPLUS_ONLY
79 const char* get_name();
119 int get_num_shapes();
194 int get_offset_translation(
float* tx,
float* ty,
float* tz);
216 int get_offset_rotation(
float* rz,
float* rx,
float* ry);
243 int get_translation(
float* tx,
float* ty,
float* tz);
266 int get_translation_double(
double* tx,
double* ty,
double* tz);
286 int get_translation_is_static();
301 const char* get_var_name_tx();
316 const char* get_var_name_ty();
331 const char* get_var_name_tz();
354 int get_rotation(
float* rz,
float* rx,
float* ry);
377 int get_rotation_euler(
float* rz,
float* rx,
float* ry);
400 int get_rotation_quat(
float* qx,
float* qy,
float* qz,
float* qw);
419 int get_rotation_is_static();
430 const char* get_var_name_rz();
441 const char* get_var_name_rx();
452 const char* get_var_name_ry();
475 int get_scale(
float* sz,
float* sx,
float* sy);
494 int get_scale_is_static();
505 const char* get_var_name_sx();
516 const char* get_var_name_sy();
527 const char* get_var_name_sz();
577 int get_is_position_link();
589 int get_num_child_links();
617 #ifdef CPLUSPLUS_ONLY
642 int get_transformation_matrix(
float matrix_array[4][4],
int transpose = 0);
651 int get_transformation_matrix_4x4_ptr(
float* matrix,
int transpose = 0);
677 int get_local_transformation_matrix(
float matrix_array[4][4],
int transpose = 0);
686 int get_local_transformation_matrix_4x4_ptr(
float* matrix,
int transpose = 0);
713 int get_link_transformation_matrix(
float matrix_array[4][4],
int transpose = 0);
722 int get_link_transformation_matrix_4x4_ptr(
float* matrix,
int transpose = 0);
728 #ifdef CPLUSPLUS_ONLY
762 const float* get_data_ptr();
778 const float* get_quat_data_ptr();
805 int get_translation_data_index();
830 int get_rotation_data_index();
858 int get_quat_data_index();
883 int get_scale_data_index();
903 int get_unique_color(
unsigned char* r,
920 #ifdef CPLUSPLUS_ONLY
970 virtual void build();
996 virtual void post_build();
1023 virtual void unbuild();
1049 virtual void attach_to_scene();
1072 virtual void detach_from_scene();
1092 virtual void instancing_state_changed(
int instanced);
1122 virtual void update();
1146 virtual void push();
1193 virtual void draw();
1255 virtual void begin_character_draw();
1279 virtual void end_character_draw();
1311 static void set_use_linear_traversal_draw(
int mode);
1318 static int get_use_linear_traversal_draw();
1333 int get_inverse_rotation_matrix(
float matrix_array[4][4],
int transpose = 0,
1334 int include_translation = 1);
1337 int get_inverse_rotation_matrix_4x4_ptr(
float* matrix_array,
int transpose = 0,
1338 int include_translation = 1);
1363 int get_is_base_link();
1370 int get_shader_matrix_index();
1380 #ifdef CPLUSPLUS_ONLY
1382 bdiLink* get_scripted_object() {
return m_scripted_object;}
1403 bdiLink* m_scripted_object;
1405 friend class bdiLink;
1406 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:443
The class that represents a DI-Guy Entity in the world.
Definition: diguyCharacter.h:78
A class that represents the unique per-character non-shared joint of a character. A diguyCharacter is...
Definition: diguyGraphicsLink.h:49
A class that represents the unique per-character non-shared mesh object. DI-Guy encapsulates its text...
Definition: diguyGraphicsShape.h:53