Enzo
Loading...
Searching...
No Matches
enzo::geo::Mesh Class Reference

Polygonal mesh primitive with point, vertex, and face attributes. More...

#include <Mesh.h>

Inheritance diagram for enzo::geo::Mesh:
enzo::geo::Primitive

Public Member Functions

 Mesh (const Mesh &other)
 
Meshoperator= (const Mesh &rhs)
 
PrimType getType () const override
 
std::shared_ptr< Primitiveclone () const override
 
TransformClass transformType () const override
 
void applyTransform (const bt::Matrix4 &mat, TransformClass transformClass) override
 
bool canMerge () const override
 
void merge (std::shared_ptr< Primitive > other) override
 
bool hasPoints () const override
 
void addFace (const std::vector< ga::Offset > &pointOffsets, bool closed=true)
 
ga::Offset addPoint (const bt::Vector3 &pos)
 
void merge (Mesh &other)
 
HeMesh computeHalfEdgeMesh ()
 
std::unordered_set< ga::Offset >::const_iterator soloPointsBegin () const
 
std::unordered_set< ga::Offset >::const_iterator soloPointsEnd () const
 
void setPointPos (const ga::Offset offset, const bt::Vector3 &pos)
 
ga::Offset getPrimStartVertex (ga::Offset primOffset) const
 
bt::Vector3 getPosFromVert (ga::Offset vertexOffset) const
 
bt::Vector3 getPointPos (ga::Offset pointOffset) const
 
unsigned int getPrimVertCount (ga::Offset primOffset) const
 
ga::Offset getVertexPrim (ga::Offset vertexOffset) const
 
ga::Offset getNumPrims () const
 
ga::Offset getNumVerts () const
 
ga::Offset getNumPoints () const override
 
ga::Offset getNumSoloPoints () const
 
bt::boolT isClosed (ga::Offset primOffset) const
 
void computePrimStartVertices () const
 
- Public Member Functions inherited from enzo::geo::Primitive
 Primitive (const Primitive &other)
 
Primitiveoperator= (const Primitive &rhs)
 
void applyTransform (const Transform &transform, TransformClass transformClass)
 
void incrementVersion ()
 
virtual PointOffsets getPoints ()
 
ga::AttributeHandle< bt::intT > addIntAttribute (ga::AttributeOwner owner, std::string name, bool intrinsic=false)
 
ga::AttributeHandleBool addBoolAttribute (ga::AttributeOwner owner, std::string name, bool intrinsic=false)
 
ga::AttributeHandle< bt::Vector3 > addVector3Attribute (ga::AttributeOwner owner, std::string name, bool intrinsic=false)
 
ga::AttributeHandle< bt::Matrix4 > addMatrix4Attribute (ga::AttributeOwner owner, std::string name, bool intrinsic=false)
 
std::shared_ptr< ga::AttributegetAttribByName (ga::AttributeOwner owner, std::string name, bool includeIntrinsics=false)
 
const size_t getNumAttributes (const ga::AttributeOwner owner) const
 
std::weak_ptr< const ga::AttributegetAttributeByIndex (ga::AttributeOwner owner, unsigned int index) const
 
bool attributeExists (ga::AttributeOwner owner, std::string name)
 
bt::String getPath () const
 
void setPath (const bt::String &path)
 

Protected Member Functions

ga::attribVector & getAttributeStore (const ga::AttributeOwner &owner) override
 
const ga::attribVector & getAttributeStore (const ga::AttributeOwner &owner) const override
 
- Protected Member Functions inherited from enzo::geo::Primitive
ga::attribVector deepCopyAttributes (ga::attribVector source)
 

Additional Inherited Members

- Protected Attributes inherited from enzo::geo::Primitive
std::string path_ = "/prim"
 
ga::attribVector pointAttributes_
 
ga::attribVector primitiveAttributes_
 

Detailed Description

Polygonal mesh primitive with point, vertex, and face attributes.

Extends Primitive with mesh-specific topology: points, vertices, faces, and the intrinsic attributes that describe connectivity (vertexCount, closed, point offset, and position P).

Member Function Documentation

◆ applyTransform()

void geo::Mesh::applyTransform ( const bt::Matrix4 & mat,
TransformClass transformClass )
overridevirtual

Implements enzo::geo::Primitive.

◆ canMerge()

bool enzo::geo::Mesh::canMerge ( ) const
inlineoverridevirtual

Reimplemented from enzo::geo::Primitive.

◆ clone()

std::shared_ptr< Primitive > enzo::geo::Mesh::clone ( ) const
inlineoverridevirtual

Implements enzo::geo::Primitive.

◆ getAttributeStore() [1/2]

const ga::attribVector & geo::Mesh::getAttributeStore ( const ga::AttributeOwner & owner) const
overrideprotectedvirtual

Reimplemented from enzo::geo::Primitive.

◆ getAttributeStore() [2/2]

ga::attribVector & geo::Mesh::getAttributeStore ( const ga::AttributeOwner & owner)
overrideprotectedvirtual

Reimplemented from enzo::geo::Primitive.

◆ getNumPoints()

ga::Offset geo::Mesh::getNumPoints ( ) const
overridevirtual

Reimplemented from enzo::geo::Primitive.

◆ getType()

PrimType enzo::geo::Mesh::getType ( ) const
inlineoverridevirtual

Implements enzo::geo::Primitive.

◆ hasPoints()

bool enzo::geo::Mesh::hasPoints ( ) const
inlineoverridevirtual

Reimplemented from enzo::geo::Primitive.

◆ merge()

void geo::Mesh::merge ( std::shared_ptr< Primitive > other)
overridevirtual

Reimplemented from enzo::geo::Primitive.

◆ transformType()

TransformClass enzo::geo::Mesh::transformType ( ) const
inlineoverridevirtual

Implements enzo::geo::Primitive.


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