34 #ifndef __diguyGraphicsShape_H
35 #define __diguyGraphicsShape_H
40 #define CPLUSPLUS_ONLY
91 const char* get_name();
133 int get_has_offset_translation();
159 int get_offset_translation(
float* tx,
float* ty,
float* tz);
175 int get_has_offset_rotation();
202 int get_offset_rotation(
float* rz,
float* rx,
float* ry);
218 int get_has_offset_scale();
244 int get_offset_scale(
float* sx,
float* sy,
float* sz);
271 const char* get_shape_set_name();
284 const char* get_shape_set_shape_name();
299 const char* get_recommended_attachment_link_name();
313 #ifdef CPLUSPLUS_ONLY
328 float* get_lod_ranges();
343 int get_graphics_lod();
359 const char* get_shape_set_filename_for_lod(
int lod);
375 int get_num_meshes(
int lod);
424 const char* get_switch_var_name();
440 int get_switch_value();
476 #ifdef CPLUSPLUS_ONLY
501 void* get_diguy_graphics_file_part(
int lod);
521 int get_graphics_state_switch_index();
533 int get_num_switched_graphics_states();
562 int get_unique_color(
unsigned char* r,
577 int get_contains_skinned_file();
600 int set_material_parameter_4f(
const char* parameter_name,
601 float x,
float y,
float z,
float w,
602 float blend_time = 0.0);
610 int get_material_parameter_4f(
const char* parameter_name,
611 float* x,
float* y,
float* z,
float* w);
622 unsigned char * get_variation_texture();
625 int get_variation_texture_size();
627 #ifdef CPLUSPLUS_ONLY
645 int get_shader_matrix_data(
int* num_matrixes,
const float** matrix_data);
662 #ifdef CPLUSPLUS_ONLY
709 virtual void build();
736 virtual void unbuild();
769 virtual void update();
840 virtual void draw(
int lod);
881 virtual void set_graphics_lod_ranges(
float* ranges);
909 virtual void set_graphics_lod(
int lod);
926 virtual void update_variation_texture(
int num_pixels,
unsigned char * pixel_data);
943 int get_bind_color_array(
int* num_colors,
const float** color_data);
955 #ifdef CPLUSPLUS_ONLY
957 bdiShape* get_scripted_object() {
return m_scripted_object;}
978 bdiShape* m_scripted_object;
980 friend class bdiShape;
981 friend class bdiGraphicsFactory;