Panda3D
|
#include <pandadoc.hpp>
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) | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
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 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 TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
Public Attributes | |
LVecBase3i | triangles [] |
Returns the vertex indices making up the given triangle index. More... | |
LPoint3 | vertices [] |
Returns the vertex at the given vertex index. More... | |
float | welding_distance |
Returns the value previously set with set_welding_distance(), or the value of 0 if none was set. More... | |
![]() | |
TypeHandle | type |
Returns the TypeHandle representing this object's type. More... | |
![]() | |
int | ref_count |
The current reference count. More... | |
__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.
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 | ( | 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 | ( | 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.
|
static |
int getNumTriangles | ( | ) |
Returns the number of triangles in this triangle mesh.
float getWeldingDistance | ( | ) |
Returns the value previously set with set_welding_distance(), or the value of 0 if none was set.
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.
This is useful if you are about to call add_triangle() many times, to prevent unnecessary reallocations.
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 | ( | Ostream | out, |
int | indent_level | ||
) |
LVecBase3i triangles[] |
Returns the vertex indices making up the given triangle index.
LPoint3 vertices[] |
Returns the vertex at the given vertex index.
float welding_distance |
Returns the value previously set with set_welding_distance(), or the value of 0 if none was set.