Panda3D
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
BulletTriangleMesh Class Reference
Inheritance diagram for BulletTriangleMesh:
TypedWritableReferenceCount TypedWritable ReferenceCount TypedObject

Public Member Functions

 __init__ ()
 
 addArray (const PTALVecBase3 points, const PTAInt indices, bool remove_duplicate_vertices)
 Adds triangle information from an array of points and indices referring to these points. More...
 
 addGeom (const Geom geom, bool remove_duplicate_vertices, const TransformState ts)
 Adds the geometry from the indicated Geom from the triangle mesh. More...
 
 addTriangle (const LPoint3 p0, const LPoint3 p1, const LPoint3 p2, bool remove_duplicate_vertices)
 Adds a triangle with the indicated coordinates. More...
 
int getNumTriangles ()
 Returns the number of triangles in this triangle mesh. More...
 
float getWeldingDistance ()
 Returns the value previously set with set_welding_distance(), or the value of 0 if none was set. More...
 
 output (Ostream out)
 
 preallocate (int num_verts, int num_indices)
 Used to reserve memory in anticipation of the given amount of vertices and indices being added to the triangle mesh. More...
 
 setWeldingDistance (float distance)
 Sets the square of the distance at which vertices will be merged together when adding geometry with remove_duplicate_vertices set to true. More...
 
 write (Ostream out, int indent_level)
 
- Public Member Functions inherited from TypedWritable
object __reduce__ ()
 
object __reduce_persist__ (object pickler)
 
VectorUchar encodeToBamStream ()
 Converts the TypedWritable object into a single stream of data using a BamWriter, and returns that data as a bytes object. More...
 
bool encodeToBamStream (VectorUchar data, BamWriter writer)
 Converts the TypedWritable object into a single stream of data using a BamWriter, and stores that data in the indicated string. More...
 
 fillin (DatagramIterator scan, BamReader manager)
 This internal function is intended to be called by each class's make_from_bam() method to read in all of the relevant data from the BamFile for the new object. More...
 
UpdateSeq getBamModified ()
 Returns the current bam_modified counter. More...
 
 markBamModified ()
 Increments the bam_modified counter, so that this object will be invalidated and retransmitted on any open bam streams. More...
 
- Public Member Functions inherited from TypedObject
TypeHandle getType ()
 
int getTypeIndex ()
 Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More...
 
bool isExactType (TypeHandle handle)
 Returns true if the current object is the indicated type exactly. More...
 
bool isOfType (TypeHandle handle)
 Returns true if the current object is or derives from the indicated type. More...
 
- Public Member Functions inherited from ReferenceCount
int getRefCount ()
 Returns the current reference count. More...
 
 ref ()
 Explicitly increments the reference count. More...
 
bool testRefCountIntegrity ()
 Does some easy checks to make sure that the reference count isn't completely bogus. More...
 
bool testRefCountNonzero ()
 Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More...
 
bool unref ()
 Explicitly decrements the reference count. More...
 

Static Public Member Functions

static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from TypedWritableReferenceCount
static TypedWritableReferenceCount decodeFromBamStream (VectorUchar data, BamReader reader)
 Reads the bytes created by a previous call to encode_to_bam_stream(), and extracts and returns the single object on those bytes. More...
 
static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from TypedWritable
static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from TypedObject
static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from ReferenceCount
static TypeHandle getClassType ()
 

Public Attributes

LVecBase3i triangles []
 
LPoint3 vertices []
 
float welding_distance
 Returns the value previously set with set_welding_distance(), or the value of 0 if none was set. More...
 
- Public Attributes inherited from TypedObject
TypeHandle type
 Returns the TypeHandle representing this object's type. More...
 
- Public Attributes inherited from ReferenceCount
int ref_count
 The current reference count. More...
 

Member Function Documentation

◆ __init__()

__init__ ( )

◆ addArray()

addArray ( const PTALVecBase3  points,
const PTAInt  indices,
bool  remove_duplicate_vertices 
)

Adds triangle information from an array of points and indices referring to these points.

This is more efficient than adding triangles one at a time.

If remove_duplicate_vertices is true, it will make sure that it does not add duplicate vertices if they already exist in the triangle mesh, within the tolerance specified by set_welding_distance(). This comes at a significant performance cost, especially for large meshes.

◆ addGeom()

addGeom ( const Geom  geom,
bool  remove_duplicate_vertices,
const TransformState  ts 
)

Adds the geometry from the indicated Geom from the triangle mesh.

This is a one-time copy operation, and future updates to the Geom will not be reflected.

If remove_duplicate_vertices is true, it will make sure that it does not add duplicate vertices if they already exist in the triangle mesh, within the tolerance specified by set_welding_distance(). This comes at a significant performance cost, especially for large meshes.

◆ addTriangle()

addTriangle ( const LPoint3  p0,
const LPoint3  p1,
const LPoint3  p2,
bool  remove_duplicate_vertices 
)

Adds a triangle with the indicated coordinates.

If remove_duplicate_vertices is true, it will make sure that it does not add duplicate vertices if they already exist in the triangle mesh, within the tolerance specified by set_welding_distance(). This comes at a significant performance cost, especially for large meshes.

◆ getClassType()

static TypeHandle getClassType ( )
static

◆ getNumTriangles()

int getNumTriangles ( )

Returns the number of triangles in this triangle mesh.

◆ getWeldingDistance()

float getWeldingDistance ( )

Returns the value previously set with set_welding_distance(), or the value of 0 if none was set.

◆ output()

output ( Ostream  out)

◆ preallocate()

preallocate ( int  num_verts,
int  num_indices 
)

Used to reserve memory in anticipation of the given amount of vertices and indices being added to the triangle mesh.

This is useful if you are about to call add_triangle() many times, to prevent unnecessary reallocations.

◆ setWeldingDistance()

setWeldingDistance ( float  distance)

Sets the square of the distance at which vertices will be merged together when adding geometry with remove_duplicate_vertices set to true.

The default is 0, meaning vertices will only be merged if they have the exact same position.

◆ write()

write ( Ostream  out,
int  indent_level 
)

Member Data Documentation

◆ triangles

LVecBase3i triangles[]

◆ vertices

LPoint3 vertices[]

◆ welding_distance

float welding_distance

Returns the value previously set with set_welding_distance(), or the value of 0 if none was set.