14 #ifndef __diguyGraphicsShape_H
15 #define __diguyGraphicsShape_H
20 #define CPLUSPLUS_ONLY
71 const char* get_name();
125 const char* get_shape_set_name();
138 const char* get_shape_set_shape_name();
153 const char* get_recommended_attachment_link_name();
167 #ifdef CPLUSPLUS_ONLY
182 float* get_lod_ranges();
197 int get_graphics_lod();
213 const char* get_shape_set_filename_for_lod(
int lod);
229 int get_num_meshes(
int lod);
278 const char* get_switch_var_name();
294 int get_switch_value();
330 #ifdef CPLUSPLUS_ONLY
355 void* get_diguy_graphics_file_part(
int lod);
375 int get_graphics_state_switch_index();
387 int get_num_switched_graphics_states();
416 int get_unique_color(
unsigned char* r,
431 int get_contains_skinned_file();
454 int set_material_parameter_4f(
const char* parameter_name,
455 float x,
float y,
float z,
float w,
456 float blend_time = 0.0);
464 int get_material_parameter_4f(
const char* parameter_name,
465 float* x,
float* y,
float* z,
float* w);
476 unsigned char * get_variation_texture();
479 int get_variation_texture_size();
482 int get_num_variations();
485 const char * get_variation_name(
int variation_index);
488 int set_variation_index(
int variation_index);
491 int get_has_custom_variation();
494 int get_num_variation_components();
497 const char * get_variation_component_name(
int index);
500 int get_variation_component_index(
const char * name);
504 int set_variation_component_value(
int index,
float color_shift_r,
float color_shift_g,
float color_shift_b);
507 int set_state_switch_index(
int index);
509 #ifdef CPLUSPLUS_ONLY
527 int get_shader_matrix_data(
int* num_matrixes,
const float** matrix_data);
544 #ifdef CPLUSPLUS_ONLY
591 virtual void build();
618 virtual void unbuild();
651 virtual void update();
702 virtual void instancing_state_changed(
int val);
725 virtual void draw(
int lod);
766 virtual void set_graphics_lod_ranges(
float* ranges);
794 virtual void set_graphics_lod(
int lod);
811 virtual void update_variation_texture(
int num_pixels,
unsigned char * pixel_data);
828 int get_bind_color_array(
int* num_colors,
const float** color_data);
832 #ifdef CPLUSPLUS_ONLY
837 int get_link_to_matrix_table(
int* num_matrices,
const float** lookup_data);
839 int get_bone_index_from_link_index(
int link_index);
857 int get_has_offset_translation();
859 int get_offset_translation(
float* tx,
float* ty,
float* tz);
861 int get_has_offset_rotation();
863 int get_offset_rotation(
float* rz,
float* rx,
float* ry);
865 int get_has_offset_scale();
867 int get_offset_scale(
float* sx,
float* sy,
float* sz);
876 #ifdef CPLUSPLUS_ONLY
878 bdiShape* get_scripted_object() {
return m_scripted_object;}
899 bdiShape* m_scripted_object;
901 friend class bdiShape;
902 friend class bdiGraphicsFactory;