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();}
A node that holds Geom objects, renderable pieces of geometry.
This is an abstract base class for a family of classes that represent the fundamental geometry primit...
This defines the actual numeric vertex data stored in a Geom, in the structure defined by a particula...
A container for geometry primitives.
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...
TypeHandle is the identifier used to differentiate C++ class types.
A base class for things which need to inherit from both TypedObject and from ReferenceCount.
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.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
std::ostream & indent(std::ostream &out, int indent_level)
A handy function for doing text formatting.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
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.