Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

ParticleMesh Class Reference

#include <ParticleMesh.h>

Inheritance diagram for ParticleMesh:

Inheritance graph
[legend]
Collaboration diagram for ParticleMesh:

Collaboration graph
[legend]
List of all members.

Detailed Description

The particle mesh is a mesh of connected particle vertices.

Definition at line 17 of file mesh/ParticleMesh.h.

Public Member Functions

ParticleVertexaddVertex (SurfaceParticle *)
 Adds a new vertex with the given particle.

 MAKE_PARTICLESTUFF_NAME ()
 ParticleMesh (Particles *ps=NULL)
 default constructor

void createDiamond (double size=10.0f)
 create diamond

virtual gmVector3 getPosition (unsigned int i)
 this gives a calling convertion for children to get the position of index i

virtual void setPosition (unsigned int i, gmVector3 p)
 this gives a calling convertion for children to set the position of index i

virtual void clear ()
overloaded for gmVertex and gmEdge
ParticleVertexaddVertex ()
 create a new vertex in the mesh

ParticleEdgeaddHalfEdge (ParticleVertex *v1, ParticleVertex *v2)
void addVertex (ParticleVertex *vert)
void addHalfEdge (ParticleEdge *edge)
ParticleVertexgetFirstActiveVertex ()
 gets the first active vertex

ParticleVertexgetFirstActiveVertex (const U32 partition)
 gets the first active vertex in a partition

ParticleVertexcollapseEdge (NhalfEdge *pCollapseEdge)
 edge collapse for simplification and partitioning

ParticleEdgeuncollapseVertex (NhalfEdgeVertex *pVertex)
 edge uncollapse for simplification and partitiong

void findMatching (std::vector< ParticleEdge * > *pMatchingArray)
void getActiveEdgeList (std::vector< ParticleEdge * > *pEdgeArray)
void getActiveVertexList (std::vector< ParticleVertex * > *pVertexArray)

Public Attributes

ParticleOpenMesh mesh
 Openmesh.


Constructor & Destructor Documentation

ParticleMesh::ParticleMesh Particles ps = NULL  ) 
 

default constructor

Definition at line 12 of file NewParticleSystem/ParticleMesh.cpp.


Member Function Documentation

void ParticleMesh::addHalfEdge ParticleEdge edge  )  [inline]
 

Definition at line 33 of file mesh/ParticleMesh.h.

References NhalfEdgeMesh::addHalfEdge(), and edge.

ParticleEdge* ParticleMesh::addHalfEdge ParticleVertex v1,
ParticleVertex v2
[inline]
 

Definition at line 27 of file mesh/ParticleMesh.h.

References NhalfEdgeMesh::addHalfEdge().

void ParticleMesh::addVertex ParticleVertex vert  )  [inline]
 

Definition at line 31 of file mesh/ParticleMesh.h.

References NhalfEdgeMesh::addVertex().

ParticleVertex* ParticleMesh::addVertex  )  [inline]
 

create a new vertex in the mesh

Returns:
pointer to the newly created vertex in the mesh

Reimplemented from gmMesh.

Definition at line 25 of file mesh/ParticleMesh.h.

ParticleVertex * ParticleMesh::addVertex SurfaceParticle *  p  ) 
 

Adds a new vertex with the given particle.

Note:
This is the only way to add a new vertex!
Parameters:
p Particle to embed in mesh.
Returns:
New particle vertex.

Definition at line 16 of file mesh/ParticleMesh.cpp.

References NhalfEdgeMesh::addVertex().

void ParticleMesh::clear  )  [virtual]
 

Reimplemented from ParticlePosition.

Definition at line 106 of file NewParticleSystem/ParticleMesh.cpp.

References mesh.

ParticleVertex* ParticleMesh::collapseEdge NhalfEdge pCollapseEdge  )  [inline]
 

edge collapse for simplification and partitioning

Creates a new vertex and deactivates old vertices. Also creates a new edges, and deactivates old ones. Allows for later uncollapse.

Parameters:
pCollapseEdge The "active" edge to be collapsed attaching to "active" vertices
See also:
uncollapseVertex()
Returns:
newly created vertex

Reimplemented from gmMesh.

Definition at line 43 of file mesh/ParticleMesh.h.

References NhalfEdgeMesh::collapseEdge().

void ParticleMesh::createDiamond double  size = 10.0f  ) 
 

create diamond

Definition at line 17 of file NewParticleSystem/ParticleMesh.cpp.

References Particles::addParticle(), mesh, and ParticleStuff::ps.

Referenced by TopologyInterrogator::cleanup().

void ParticleMesh::findMatching std::vector< ParticleEdge * > *  pMatchingArray  )  [inline]
 

Definition at line 51 of file mesh/ParticleMesh.h.

References NhalfEdgeMesh::findMatching().

void ParticleMesh::getActiveEdgeList std::vector< ParticleEdge * > *  pEdgeArray  )  [inline]
 

Definition at line 60 of file mesh/ParticleMesh.h.

References NhalfEdgeMesh::getActiveEdgeList().

void ParticleMesh::getActiveVertexList std::vector< ParticleVertex * > *  pVertexArray  )  [inline]
 

Definition at line 69 of file mesh/ParticleMesh.h.

References NhalfEdgeMesh::getActiveVertexList().

ParticleVertex* ParticleMesh::getFirstActiveVertex const U32  partition  )  [inline]
 

gets the first active vertex in a partition

Parameters:
partition the partitions for the first active vertex.
Returns:
active vertex

Reimplemented from gmMesh.

Definition at line 39 of file mesh/ParticleMesh.h.

References NhalfEdgeMesh::getFirstActiveVertex(), and U32.

ParticleVertex* ParticleMesh::getFirstActiveVertex  )  [inline]
 

gets the first active vertex

Returns:
active vertex

Reimplemented from gmMesh.

Definition at line 35 of file mesh/ParticleMesh.h.

References NhalfEdgeMesh::getFirstActiveVertex().

gmVector3 ParticleMesh::getPosition unsigned int  i  )  [virtual]
 

this gives a calling convertion for children to get the position of index i

Reimplemented from ParticlePosition.

Definition at line 94 of file NewParticleSystem/ParticleMesh.cpp.

References mesh.

ParticleMesh::MAKE_PARTICLESTUFF_NAME  ) 
 

Reimplemented from ParticlePosition.

void ParticleMesh::setPosition unsigned int  i,
gmVector3  p
[virtual]
 

this gives a calling convertion for children to set the position of index i

Reimplemented from ParticlePosition.

Definition at line 87 of file NewParticleSystem/ParticleMesh.cpp.

References mesh.

ParticleEdge* ParticleMesh::uncollapseVertex NhalfEdgeVertex pVertex  )  [inline]
 

edge uncollapse for simplification and partitiong

Parameters:
pVertex a pointer to an active composite vertex;
See also:
collapseEdge()
Returns:
unCollapsedEdge newly created vertex

Reimplemented from gmMesh.

Definition at line 47 of file mesh/ParticleMesh.h.

References NhalfEdgeMesh::uncollapseVertex().


Member Data Documentation

ParticleOpenMesh ParticleMesh::mesh
 

Openmesh.

Definition at line 18 of file NewParticleSystem/ParticleMesh.h.

Referenced by MeshShape::applyConstraint(), SkinMeshShape::applyForce(), MeshShape::applyForce(), SkinMeshShape::calculateTargetEdgeLength(), SkinMeshShape::cleanup(), MeshShape::cleanup(), clear(), createDiamond(), ParticleShaderTriangle::draw(), getPosition(), and setPosition().


The documentation for this class was generated from the following files:
Generated on Mon Jun 28 15:02:43 2004 for Advanced Surface Library by doxygen 1.3.4