14 #ifndef ODETRIMESHDATA_H 15 #define ODETRIMESHDATA_H 39 static void unlink_data(dGeomID
id);
41 static void print_data(
const std::string &marker);
50 enum DataType { DT_face_normals = 0,
51 DT_last_transformation };
62 virtual void write(std::ostream &out = std::cout,
unsigned int indent=0)
const;
63 void write_faces(std::ostream &out)
const;
66 INLINE
void build_single(
const void* vertices,
int vertex_stride,
int vertex_count, \
67 const void* indices,
int index_count,
int tri_stride);
68 INLINE
void build_single1(
const void* vertices,
int vertex_stride,
int vertex_count, \
69 const void* indices,
int index_count,
int tri_stride, \
71 INLINE
void build_double(
const void* vertices,
int vertex_stride,
int vertex_count, \
72 const void* indices,
int index_count,
int tri_stride);
73 INLINE
void build_double1(
const void* vertices,
int vertex_stride,
int vertex_count, \
74 const void* indices,
int index_count,
int tri_stride, \
91 INLINE
void preprocess();
93 INLINE dTriMeshDataID get_id()
const;
96 void process_model(
const NodePath& model,
bool &use_normals);
97 void process_geom_node(
const GeomNode *geomNode);
98 void process_geom(
const Geom *geom);
101 void analyze(
const GeomNode *geomNode);
102 void analyze(
const Geom *geom);
109 struct StridedVertex {
120 StridedVertex *_vertices;
122 FaceNormal *_normals;
124 unsigned int _num_vertices;
125 unsigned int _num_faces;
131 static void init_type() {
132 TypedReferenceCount::init_type();
134 TypedReferenceCount::get_class_type());
137 return get_class_type();
139 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is our own Panda specialization on the default STL map.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is an abstract base class for a family of classes that represent the fundamental geometry primit...
A base class for things which need to inherit from both TypedObject and from ReferenceCount.
std::ostream & indent(std::ostream &out, int indent_level)
A handy function for doing text formatting.
This defines the actual numeric vertex data stored in a Geom, in the structure defined by a particula...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
A container for geometry primitives.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
TypeHandle is the identifier used to differentiate C++ class types.
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...
A node that holds Geom objects, renderable pieces of geometry.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.