ReactPhysics3D  v0.10.2
C++ Physics engine library
Loading...
Searching...
No Matches
reactphysics3d::HalfEdgeStructure Class Reference

This class describes a polyhedron mesh made of faces and vertices. More...

#include <include/reactphysics3d/collision/HalfEdgeStructure.h>

Classes

struct  Edge
 Edge. More...
 
struct  Face
 Face. More...
 
struct  Vertex
 Vertex. More...
 

Public Types

using VerticesPair = Pair< uint32, uint32 >
 

Public Member Functions

 HalfEdgeStructure (MemoryAllocator &allocator, uint32 facesCapacity, uint32 verticesCapacity, uint32 edgesCapacity)
 Constructor.
 
 ~HalfEdgeStructure ()=default
 Destructor.
 
void computeHalfEdges ()
 Compute the half-edges (when all vertices and faces have been added)
 
uint32 addVertex (uint32 vertexPointIndex)
 Add a vertex.
 
void addFace (const Array< uint32 > &faceVertices)
 Add a face.
 
uint32 getNbFaces () const
 Return the number of faces.
 
uint32 getNbHalfEdges () const
 Return the number of half-edges.
 
uint32 getNbVertices () const
 Return the number of vertices.
 
const FacegetFace (uint32 index) const
 Return a given face.
 
const EdgegetHalfEdge (uint32 index) const
 Return a given edge.
 
const VertexgetVertex (uint32 index) const
 Return a given vertex.
 
void reserve (uint32 facesCapacity, uint32 verticesCapacity, uint32 edgesCapacity)
 Reserve some memory for vertices, faces and edges.
 
std::string to_string () const
 Return a string representation of the half-edge structure.
 

Detailed Description

This class describes a polyhedron mesh made of faces and vertices.

The faces do not have to be triangle.

Member Function Documentation

◆ addFace()

RP3D_FORCE_INLINE void reactphysics3d::HalfEdgeStructure::addFace ( const Array< uint32 > &  faceVertices)

Add a face.

Parameters
faceVerticesArray of the vertices in a face (ordered in CCW order as seen from outside the polyhedron). The indices are the internal indices of the vertices inside the HalfEdgeStructure.

◆ addVertex()

RP3D_FORCE_INLINE uint32 reactphysics3d::HalfEdgeStructure::addVertex ( uint32  vertexPointIndex)

Add a vertex.

Parameters
vertexPointIndexIndex of the vertex in the external user vertex data array

◆ getFace()

RP3D_FORCE_INLINE const HalfEdgeStructure::Face & reactphysics3d::HalfEdgeStructure::getFace ( uint32  index) const

Return a given face.

Returns
A given face of the polyhedron

◆ getHalfEdge()

RP3D_FORCE_INLINE const HalfEdgeStructure::Edge & reactphysics3d::HalfEdgeStructure::getHalfEdge ( uint32  index) const

Return a given edge.

Returns
A given edge of the polyhedron

◆ getNbFaces()

RP3D_FORCE_INLINE uint32 reactphysics3d::HalfEdgeStructure::getNbFaces ( ) const

Return the number of faces.

Returns
The number of faces in the polyhedron

◆ getNbHalfEdges()

RP3D_FORCE_INLINE uint32 reactphysics3d::HalfEdgeStructure::getNbHalfEdges ( ) const

Return the number of half-edges.

Returns
The number of edges in the polyhedron

◆ getNbVertices()

RP3D_FORCE_INLINE uint32 reactphysics3d::HalfEdgeStructure::getNbVertices ( ) const

Return the number of vertices.

Returns
The number of vertices in the polyhedron

◆ getVertex()

RP3D_FORCE_INLINE const HalfEdgeStructure::Vertex & reactphysics3d::HalfEdgeStructure::getVertex ( uint32  index) const

Return a given vertex.

Returns
A given vertex of the polyhedron

The documentation for this class was generated from the following files: