14 INLINE
void OdeTriMeshGeom::
16 odetrimeshdata_cat.warning()
17 <<
"OdeTriMeshGeom::set_data() is deprecated, use OdeTriMeshGeom::set_tri_mesh_data() instead!\n";
18 set_tri_mesh_data(data);
23 odetrimeshdata_cat.warning()
24 <<
"OdeTriMeshGeom::get_data() is deprecated, use OdeTriMeshGeom::get_tri_mesh_data() instead!\n";
25 return get_tri_mesh_data();
28 INLINE
void OdeTriMeshGeom::
31 dGeomTriMeshSetData(_id, data.get_id());
32 OdeTriMeshData::link_data(_id, &data);
36 get_tri_mesh_data()
const {
37 nassertr(_id != 0,
nullptr);
38 return OdeTriMeshData::get_data(_id);
41 INLINE
void OdeTriMeshGeom::
42 enable_TC(
int geom_class,
int enable){
44 dGeomTriMeshEnableTC(_id, geom_class, enable);
47 INLINE
int OdeTriMeshGeom::
48 is_TC_enabled(
int geom_class)
const {
49 nassertr(_id != 0, 0);
50 return dGeomTriMeshIsTCEnabled(_id, geom_class);
53 INLINE
void OdeTriMeshGeom::
54 clear_TC_cache(
const OdeGeom &geom){
56 dGeomTriMeshClearTCCache(_id);
59 INLINE
void OdeTriMeshGeom::
60 get_triangle(
int face_index, LPoint3f &v0, LPoint3f &v1, LPoint3f &v2)
const {
62 dVector3 dv0, dv1, dv2;
63 dGeomTriMeshGetTriangle(_id, face_index, &dv0, &dv1, &dv2);
65 v0.set(dv0[0], dv0[1], dv0[2]);
66 v1.set(dv1[0], dv1[1], dv1[2]);
67 v2.set(dv2[0], dv2[1], dv2[2]);
70 INLINE LPoint3f OdeTriMeshGeom::
71 get_point(
int face_index, dReal u, dReal v)
const {
72 nassertr(_id != 0, LPoint3f(0));
74 dGeomTriMeshGetPoint(_id, face_index, u, v, out);
75 return LPoint3f(out[0], out[1], out[2]);
78 INLINE
int OdeTriMeshGeom::
79 get_num_triangles()
const {
80 nassertr(_id != 0, 0);
81 return dGeomTriMeshGetTriangleCount(_id);
84 INLINE dTriMeshDataID OdeTriMeshGeom::
86 odetrimeshdata_cat.warning()
87 <<
"OdeTriMeshGeom::get_data_id() is deprecated, use OdeTriMeshGeom::get_tri_mesh_data_id() instead!\n";
88 return get_tri_mesh_data_id();
91 INLINE dTriMeshDataID OdeTriMeshGeom::
92 get_tri_mesh_data_id()
const {
93 nassertr(_id != 0, 0);
94 return dGeomTriMeshGetTriMeshDataID(_id);