PeriDyno 1.0.0
Loading...
Searching...
No Matches
dyno::PolygonSet< TDataType > Class Template Reference

a class to store polygon whose vertex number is greater or equal than 3 More...

#include <PolygonSet.h>

Inheritance diagram for dyno::PolygonSet< TDataType >:
Collaboration diagram for dyno::PolygonSet< TDataType >:

Public Member Functions

 PolygonSet ()
 
 ~PolygonSet () override
 
void setPolygons (const CArrayList< uint > &indices)
 initialize polygon indices
 
void setPolygons (const DArrayList< uint > &indices)
 
DArrayList< uint > & polygonIndices ()
 
DArrayList< uint > & vertex2Polygon ()
 
DArrayList< uint > & polygon2Edge ()
 
DArray<::dyno::TopologyModule::Edg2Poly > & edge2Polygon ()
 
void copyFrom (PolygonSet< TDataType > &polygons)
 
bool isEmpty () override
 
void extractEdgeSet (EdgeSet< TDataType > &es)
 extract and merge edges from all polygons into one EdgeSet
 
void extractTriangleSet (TriangleSet< TDataType > &ts)
 extract all triangles
 
void extractQuadSet (QuadSet< TDataType > &qs)
 extract all quads
 
void turnIntoTriangleSet (TriangleSet< TDataType > &ts)
 turn all polygons into triangles and store into one TriangleSet
 
void triangleSetToPolygonSet (TriangleSet< TDataType > &ts)
 turn all polygons into triangles and store into one TriangleSet
 
- Public Member Functions inherited from dyno::EdgeSet< TDataType >
 EdgeSet ()
 
 ~EdgeSet () override
 
void setEdges (std::vector< Edge > &edges)
 
void setEdges (DArray< Edge > &edges)
 
void requestPointNeighbors (DArrayList< int > &lists)
 Request the neighboring ids of each point according to the mesh topology Be sure update() is called as long as the topology is changed.
 
DArray< Edge > & getEdges ()
 Get all edges with each one containing the indices of two edge ends.
 
DArrayList< int > & vertex2Edge ()
 Get the Ver2 Edge object.
 
void copyFrom (EdgeSet< TDataType > &edgeSet)
 
void clear () override
 
void loadSmeshFile (std::string filename)
 
 EdgeSet ()
 
 ~EdgeSet () override
 
void setEdges (const DArray< Edge > &edges)
 
void setEdges (const std::vector< Edge > &edges)
 
DArray< Edge > & getEdges ()
 
void copyFrom (EdgeSet &es)
 
- Public Member Functions inherited from dyno::PointSet< TDataType >
 PointSet ()
 
 ~PointSet () override
 
void copyFrom (PointSet< TDataType > &pointSet)
 
void setPoints (const std::vector< Coord > &pos)
 
void setPoints (const DArray< Coord > &pos)
 
void setSize (int size)
 
int getPointSize ()
 
void requestBoundingBox (Coord &lo, Coord &hi)
 Return the lower and upper bounds for all points.
 
void scale (const Real s)
 
void scale (const Coord s)
 
void translate (const Coord t)
 
virtual void rotate (const Coord angle)
 
virtual void rotate (const Quat< Real > q)
 
void loadObjFile (std::string filename)
 
DArray< Coord > & getPoints ()
 Return the array of points.
 
 PointSet ()
 
 ~PointSet () override
 
DArray< Vec3f > & getPoints ()
 
void setPoints (std::vector< Vec3f > &points)
 
void setPoints (const DArray< Vec3f > &points)
 
void clear ()
 
- Public Member Functions inherited from dyno::TopologyModule
 TopologyModule ()
 
 ~TopologyModule () override
 
virtual int getDOF ()
 
void tagAsChanged ()
 
void tagAsUnchanged ()
 
bool isTopologyChanged ()
 
void update ()
 
- Public Member Functions inherited from dyno::OBase
 OBase ()
 
 ~OBase () override
 
virtual std::string caption ()
 Return the caption.
 
virtual bool captionVisible ()
 Whether to hide the caption in the GUI.
 
virtual std::string description ()
 Return a description for the node or module, override this function to support user-defined description.
 
virtual std::string getName ()
 
bool addField (FBase *data)
 Add a field to Base FieldID will be set to the name of Field by default.
 
bool addField (FieldID name, FBase *data)
 Add a field to Base.
 
bool addFieldAlias (FieldID name, FBase *data)
 
bool addFieldAlias (FieldID name, FBase *data, FieldMap &fieldAlias)
 
bool findField (FBase *data)
 Find a field by its pointer.
 
bool findFieldAlias (const FieldID name)
 Find a field by its name.
 
bool findFieldAlias (const FieldID name, FieldMap &fieldAlias)
 Find a field in fieldAlias by its name This function is typically called by other functions.
 
bool removeField (FBase *data)
 Remove a field by its pointer.
 
bool removeFieldAlias (const FieldID name)
 Remove a field by its name.
 
bool removeFieldAlias (const FieldID name, FieldMap &fieldAlias)
 
FBasegetField (const FieldID name)
 Return a field by its name.
 
std::vector< FBase * > & getAllFields ()
 
virtual bool attachField (FBase *field, std::string name, std::string desc, bool autoDestroy=true)
 Attach a field to Base.
 
template<typename T>
TgetField (FieldID name)
 
bool isAllFieldsReady ()
 Check the completeness of all required fields.
 
std::vector< FieldIDgetFieldAlias (FBase *data)
 
int getFieldAliasCount (FBase *data)
 
void setBlockCoord (float x, float y)
 
float bx ()
 
float by ()
 
bool findInputField (FBase *field)
 
bool addInputField (FBase *field)
 
bool removeInputField (FBase *field)
 
std::vector< FBase * > & getInputFields ()
 
bool findOutputField (FBase *field)
 
bool addOutputField (FBase *field)
 
bool addToOutput (FBase *field)
 
bool removeOutputField (FBase *field)
 
bool removeFromOutput (FBase *field)
 
std::vector< FBase * > & getOutputFields ()
 
bool findParameter (FBase *field)
 
bool addParameter (FBase *field)
 
bool removeParameter (FBase *field)
 
std::vector< FBase * > & getParameters ()
 
- Public Member Functions inherited from dyno::Object
 Object ()
 
virtual ~Object ()
 
ObjectId objectId ()
 

Protected Member Functions

void updateTopology () override
 
void updateEdges () override
 

Private Types

typedef TDataType::Real Real
 
typedef TDataType::Coord Coord
 
typedef TopologyModule::Edge Edge
 
typedef TopologyModule::Triangle Triangle
 
typedef TopologyModule::Quad Quad
 

Private Attributes

DArrayList< uintmPolygonIndex
 
DArrayList< uintmVer2Poly
 
DArrayList< uintmPoly2Edg
 
DArray<::dyno::TopologyModule::Edg2PolymEdg2Poly
 

Additional Inherited Members

- Public Types inherited from dyno::EdgeSet< TDataType >
typedef TDataType::Real Real
 
typedef TDataType::Coord Coord
 
typedef TopologyModule::Edge Edge
 
- Public Types inherited from dyno::PointSet< TDataType >
typedef TDataType::Real Real
 
typedef TDataType::Coord Coord
 
- Public Types inherited from dyno::TopologyModule
typedef PointType Point
 
typedef VectorND< PointType, 2 > Edge
 
typedef Vector< PointType, 3 > Triangle
 
typedef VectorND< PointType, 4 > Quad
 
typedef VectorND< PointType, 4 > Tetrahedron
 
typedef VectorND< PointType, 5 > Pyramid
 
typedef VectorND< PointType, 6 > Pentahedron
 
typedef VectorND< PointType, 8 > Hexahedron
 
typedef VectorND< PointType, 2 > Edg2Tri
 
typedef VectorND< PointType, 3 > Tri2Edg
 
typedef VectorND< PointType, 2 > Edg2Quad
 
typedef VectorND< PointType, 4 > Quad2Edg
 
typedef VectorND< PointType, 2 > Tri2Tet
 
typedef VectorND< PointType, 4 > Tet2Tri
 
typedef VectorND< PointType, 2 > Tri2Quad
 
typedef VectorND< PointType, 2 > Quad2Hex
 
typedef VectorND< PointType, 2 > Edg2Hex
 
typedef VectorND< PointType, 2 > Edg2Poly
 
- Public Types inherited from dyno::OBase
typedef std::vector< FBase * > FieldVector
 
typedef std::map< FieldID, FBase * > FieldMap
 
- Static Public Member Functions inherited from dyno::Object
static bool registerClass (ClassInfo *ci)
 
static ObjectcreateObject (std::string name)
 
static std::map< std::string, ClassInfo * > * getClassMap ()
 
static ObjectId baseId ()
 Base Id.
 
- Public Attributes inherited from dyno::EdgeSet< TDataType >
DArray< EdgemEdgeIndex
 
- Public Attributes inherited from dyno::PointSet< TDataType >
DArray< Vec3fmPoints
 
- Protected Attributes inherited from dyno::EdgeSet< TDataType >
DArray< EdgemEdges
 
DArrayList< int > mVer2Edge
 
- Protected Attributes inherited from dyno::PointSet< TDataType >
DArray< CoordmCoords
 
- Protected Attributes inherited from dyno::OBase
std::vector< FBase * > fields_input
 
std::vector< FBase * > fields_output
 
std::vector< FBase * > fields_param
 

Detailed Description

template<typename TDataType>
class dyno::PolygonSet< TDataType >

a class to store polygon whose vertex number is greater or equal than 3

Definition at line 28 of file PolygonSet.h.

Member Typedef Documentation

◆ Coord

template<typename TDataType>
typedef TDataType::Coord dyno::PolygonSet< TDataType >::Coord
private

Definition at line 31 of file PolygonSet.h.

◆ Edge

template<typename TDataType>
typedef TopologyModule::Edge dyno::PolygonSet< TDataType >::Edge
private

Definition at line 33 of file PolygonSet.h.

◆ Quad

template<typename TDataType>
typedef TopologyModule::Quad dyno::PolygonSet< TDataType >::Quad
private

Definition at line 35 of file PolygonSet.h.

◆ Real

template<typename TDataType>
typedef TDataType::Real dyno::PolygonSet< TDataType >::Real
private

Definition at line 30 of file PolygonSet.h.

◆ Triangle

template<typename TDataType>
typedef TopologyModule::Triangle dyno::PolygonSet< TDataType >::Triangle
private

Definition at line 34 of file PolygonSet.h.

Constructor & Destructor Documentation

◆ PolygonSet()

template<typename TDataType>
dyno::PolygonSet< TDataType >::PolygonSet ( )
Here is the caller graph for this function:

◆ ~PolygonSet()

template<typename TDataType>
dyno::PolygonSet< TDataType >::~PolygonSet ( )
override

Member Function Documentation

◆ copyFrom()

template<typename TDataType>
void dyno::PolygonSet< TDataType >::copyFrom ( PolygonSet< TDataType > & polygons)
Here is the call graph for this function:

◆ edge2Polygon()

template<typename TDataType>
DArray<::dyno::TopologyModule::Edg2Poly > & dyno::PolygonSet< TDataType >::edge2Polygon ( )
inline

Definition at line 53 of file PolygonSet.h.

◆ extractEdgeSet()

template<typename TDataType>
void dyno::PolygonSet< TDataType >::extractEdgeSet ( EdgeSet< TDataType > & es)

extract and merge edges from all polygons into one EdgeSet

Here is the call graph for this function:

◆ extractQuadSet()

template<typename TDataType>
void dyno::PolygonSet< TDataType >::extractQuadSet ( QuadSet< TDataType > & qs)

extract all quads

◆ extractTriangleSet()

template<typename TDataType>
void dyno::PolygonSet< TDataType >::extractTriangleSet ( TriangleSet< TDataType > & ts)

extract all triangles

◆ isEmpty()

template<typename TDataType>
bool dyno::PolygonSet< TDataType >::isEmpty ( )
overridevirtual

Reimplemented from dyno::EdgeSet< TDataType >.

◆ polygon2Edge()

template<typename TDataType>
DArrayList< uint > & dyno::PolygonSet< TDataType >::polygon2Edge ( )
inline

Definition at line 51 of file PolygonSet.h.

◆ polygonIndices()

template<typename TDataType>
DArrayList< uint > & dyno::PolygonSet< TDataType >::polygonIndices ( )
inline

Definition at line 47 of file PolygonSet.h.

◆ setPolygons() [1/2]

template<typename TDataType>
void dyno::PolygonSet< TDataType >::setPolygons ( const CArrayList< uint > & indices)

initialize polygon indices

◆ setPolygons() [2/2]

template<typename TDataType>
void dyno::PolygonSet< TDataType >::setPolygons ( const DArrayList< uint > & indices)

◆ triangleSetToPolygonSet()

template<typename TDataType>
void dyno::PolygonSet< TDataType >::triangleSetToPolygonSet ( TriangleSet< TDataType > & ts)

turn all polygons into triangles and store into one TriangleSet

◆ turnIntoTriangleSet()

template<typename TDataType>
void dyno::PolygonSet< TDataType >::turnIntoTriangleSet ( TriangleSet< TDataType > & ts)

turn all polygons into triangles and store into one TriangleSet

◆ updateEdges()

template<typename TDataType>
void dyno::PolygonSet< TDataType >::updateEdges ( )
overrideprotectedvirtual

Override updateEdges to update edges in a customized way, e.g., only the four edges will be created for a quadrangle

Reimplemented from dyno::EdgeSet< TDataType >.

◆ updateTopology()

template<typename TDataType>
void dyno::PolygonSet< TDataType >::updateTopology ( )
overrideprotectedvirtual

Reimplemented from dyno::EdgeSet< TDataType >.

◆ vertex2Polygon()

template<typename TDataType>
DArrayList< uint > & dyno::PolygonSet< TDataType >::vertex2Polygon ( )
inline

Definition at line 49 of file PolygonSet.h.

Member Data Documentation

◆ mEdg2Poly

template<typename TDataType>
DArray<::dyno::TopologyModule::Edg2Poly> dyno::PolygonSet< TDataType >::mEdg2Poly
private

Definition at line 102 of file PolygonSet.h.

◆ mPoly2Edg

template<typename TDataType>
DArrayList<uint> dyno::PolygonSet< TDataType >::mPoly2Edg
private

Definition at line 99 of file PolygonSet.h.

◆ mPolygonIndex

template<typename TDataType>
DArrayList<uint> dyno::PolygonSet< TDataType >::mPolygonIndex
private

Definition at line 93 of file PolygonSet.h.

◆ mVer2Poly

template<typename TDataType>
DArrayList<uint> dyno::PolygonSet< TDataType >::mVer2Poly
private

Definition at line 96 of file PolygonSet.h.


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