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();
486 int get_is_position_link();
498 int get_num_child_links();
522 #ifdef CPLUSPLUS_ONLY
542 int get_transformation_matrix(
float matrix_array[4][4],
int transpose = 0);
551 int get_transformation_matrix_4x4_ptr(
float* matrix,
int transpose = 0);
571 int get_local_transformation_matrix(
float matrix_array[4][4],
int transpose = 0);
580 int get_local_transformation_matrix_4x4_ptr(
float* matrix,
int transpose = 0);
582 int get_local_translation(
float * x,
float *y,
float *z);
603 int get_link_transformation_matrix(
float matrix_array[4][4],
int transpose = 0);
612 int get_link_transformation_matrix_4x4_ptr(
float* matrix,
int transpose = 0);
618 #ifdef CPLUSPLUS_ONLY
652 const float* get_data_ptr();
668 const float* get_quat_data_ptr();
695 int get_translation_data_index();
720 int get_rotation_data_index();
748 int get_quat_data_index();
769 int get_unique_color(
unsigned char* r,
786 #ifdef CPLUSPLUS_ONLY
836 virtual void build();
862 virtual void post_build();
889 virtual void unbuild();
915 virtual void attach_to_scene();
938 virtual void detach_from_scene();
967 virtual void update();
1010 virtual void draw();
1041 virtual void instancing_state_changed(
int instanced);
1051 virtual void fill_out_tbo_position_matrix(
diguyGraphicsShape * current_shape,
float * tbo_data);
1061 virtual void fill_out_tbo_additional_data(
diguyGraphicsShape * current_shape,
float * tbo_data);
1097 virtual void begin_character_draw();
1121 virtual void end_character_draw();
1140 int get_inverse_rotation_matrix(
float matrix_array[4][4],
int transpose = 0,
1141 int include_translation = 1);
1144 int get_inverse_rotation_matrix_4x4_ptr(
float* matrix_array,
int transpose = 0,
1145 int include_translation = 1);
1150 int get_approximate_bounding_box(
float * bbox_min_x,
float * bbox_min_y,
float * bbox_min_z,
1151 float * bbox_max_x,
float * bbox_max_y,
float * bbox_max_z);
1175 int get_is_base_link();
1206 int get_scale(
float* sz,
float* sx,
float* sy);
1225 int get_scale_is_static();
1236 const char* get_var_name_sx();
1247 const char* get_var_name_sy();
1258 const char* get_var_name_sz();
1283 int get_scale_data_index();
1299 #ifdef CPLUSPLUS_ONLY
1301 bdiLink* get_scripted_object() {
return m_scripted_object;}
1322 bdiLink* m_scripted_object;
1324 friend class bdiLink;
1325 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:448
The class that represents a DI-Guy Entity in the world.
Definition: diguyCharacter.h:80
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:51