34 #ifndef __diguyGraphicsMesh_H
35 #define __diguyGraphicsMesh_H
40 #define CPLUSPLUS_ONLY
48 class diguyGraphicsMeshInternalData;
82 const char* get_name();
150 int get_num_switched_graphics_states();
174 int get_is_skinned_mesh();
200 int get_is_deformable();
212 void free_loader_memory();
295 int get_vertex_count();
303 int get_vertex_buffer_size();
305 #ifdef CPLUSPLUS_ONLY
321 void* get_vertex_buffer_data();
350 float* get_first_vertex();
378 int get_vertex_offset();
398 int get_vertex_stride();
406 float* get_first_normal();
414 int get_normal_offset();
422 int get_normal_stride();
429 float* get_first_texture_indices();
437 int get_texture_indices_offset();
445 int get_texture_indices_stride();
453 float* get_first_link_index();
461 int get_link_index_offset();
469 int get_link_index_stride();
476 float* get_first_link_weight();
484 int get_link_weight_offset();
492 int get_link_weight_stride();
510 float* get_first_tangent();
518 int get_tangent_offset();
526 int get_tangent_stride();
565 int get_index_count();
567 #ifdef CPLUSPLUS_ONLY
575 int get_index_buffer_size();
588 void* get_index_buffer_data();
605 #ifdef CPLUSPLUS_ONLY
631 virtual void build();
654 virtual void unbuild();
687 #ifdef CPLUSPLUS_ONLY
699 int get_vertex_info(
int* num_vertices,
700 float** vertex_array,
701 float** normal_array,
702 float** texture_array,
703 int* index_array_size,
704 unsigned short** index_array);
716 #ifdef CPLUSPLUS_ONLY
718 diguyGraphicsMeshInternalData* get_internal_data() {
return m_internal_data;}
739 diguyGraphicsMeshInternalData* m_internal_data;
741 friend class bdiGeometryGeosetMesh;
742 friend class bdiGeometryGeoset;
743 friend class bdiGeometryFactory;
744 friend class diguyGraphicsMeshArray;
745 friend class diguyGraphicsMeshInternalData;