14 #ifndef __diguyGraphicsShape_H
15 #define __diguyGraphicsShape_H
20 #define CPLUSPLUS_ONLY
81 const char* get_name();
135 const char* get_shape_set_name();
148 const char* get_shape_set_shape_name();
163 const char* get_recommended_attachment_link_name();
177 #ifdef CPLUSPLUS_ONLY
192 float* get_lod_ranges();
207 int get_graphics_lod();
223 const char* get_shape_set_filename_for_lod(
int lod);
239 int get_num_meshes(
int lod);
290 const char* get_switch_var_name();
306 int get_switch_value();
319 int get_is_hidden()
const;
322 int set_is_hidden(
int hidden);
326 const char * get_class_type()
const;
330 const char * get_object_type()
const;
333 const char * get_material_type()
const;
336 int get_is_pbr_ready()
const;
359 #ifdef CPLUSPLUS_ONLY
384 void* get_diguy_graphics_file_part(
int lod);
404 int get_graphics_state_switch_index();
416 int get_num_switched_graphics_states();
430 int set_state_switch_index(
int index);
448 int get_unique_color(
unsigned char* r,
unsigned char* g,
unsigned char* b);
461 int get_contains_skinned_file();
486 int set_material_parameter_4f(
const char* parameter_name,
487 float x,
float y,
float z,
float w,
488 float blend_time = 0.0);
496 int get_material_parameter_4f(
const char* parameter_name,
497 float* x,
float* y,
float* z,
float* w);
512 unsigned char * get_variation_texture();
515 int get_variation_texture_size();
518 static int get_shared_variation_texture_size();
521 int get_num_variations();
524 const char * get_variation_name(
int variation_index);
527 int set_variation_index(
int variation_index);
530 int get_has_custom_variation();
533 int get_num_variation_components();
536 const char * get_variation_component_name(
int index);
539 int get_variation_component_row(
const char * name);
543 int set_variation_component_value(
int index,
float color_shift_r,
float color_shift_g,
float color_shift_b);
547 int get_variation_texture_row();
550 void set_variation_texture_data(
unsigned char * texture_data);
552 #ifdef CPLUSPLUS_ONLY
570 int get_shader_matrix_data(
int* num_matrixes,
const float** matrix_data);
583 int get_are_shader_matrices_transposed();
598 #ifdef CPLUSPLUS_ONLY
645 virtual void build();
672 virtual void unbuild();
705 virtual void update();
777 virtual void draw(
int lod);
818 virtual void set_graphics_lod_ranges(
float* ranges);
846 virtual void set_graphics_lod(
int lod);
863 virtual void update_variation_texture(
int num_pixels,
unsigned char * pixel_data);
880 int get_bind_color_array(
int* num_colors,
const float** color_data);
888 virtual void instancing_state_changed(
int val);
892 #ifdef CPLUSPLUS_ONLY
897 int get_link_to_matrix_table(
int* num_matrices,
const float** lookup_data);
900 int get_bone_index_from_link_index(
int link_index);
905 int get_has_offset_matrix()
const;
908 int get_offset_matrix_4x4_ptr(
float* matrix,
int transpose = 0)
const;
918 int get_local_transformation_matrix_4x4_ptr(
float* matrix,
int transpose = 0)
const;
921 int get_bounding_box(
float * bbox_min_x,
float * bbox_min_y,
float * bbox_min_z,
922 float * bbox_max_x,
float * bbox_max_y,
float * bbox_max_z);
958 #ifdef CPLUSPLUS_ONLY
960 bdiShape* get_scripted_object() {
return m_scripted_object;}
981 bdiShape* m_scripted_object;
983 friend class bdiShape;
984 friend class bdiGraphicsFactory;
A class that represents a shared material/textures combination.
Definition: diguyGraphicsState.h:44
Definition: diguyGraphicsFile.h:35
A class that represents a shared mesh object.
Definition: diguyGraphicsMesh.h:80
The class that represents a DI-Guy Entity in the world.
Definition: diguyCharacter.h:81
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