SMTK
@SMTK_VERSION@
Simulation Modeling Tool Kit
|
10 #ifndef smtk_session_polygon_CreateFaces_h
11 #define smtk_session_polygon_CreateFaces_h
13 #include "smtk/session/polygon/Operation.h"
14 #include "smtk/session/polygon/Resource.h"
15 #include "smtk/session/polygon/internal/Fragment.h"
16 #include "smtk/session/polygon/internal/Neighborhood.h"
18 #include "smtk/model/Face.h"
20 #include "smtk/common/UnionFind.h"
33 class ActiveFragmentTree;
42 m_allowedOrientations = allowedOrientations > 0 ? +1 : allowedOrientations < 0 ? -1 : 0;
43 m_visited[0] = m_visited[1] =
false;
46 : m_allowedOrientations(other.m_allowedOrientations)
48 for (
int i = 0; i < 2; ++i)
49 m_visited[i] = other.m_visited[i];
53 int m_allowedOrientations{ 0 };
75 virtual bool populateEdgeMap();
76 Result operateInternal()
override;
77 const char* xmlDescription()
const override;
79 void evaluateLoop(RegionId faceNumber, OrientedEdges& loop, std::set<RegionId>& borders);
82 void addTessellations();
84 std::map<RegionId, smtk::model::Face> m_regionFaces;
85 std::map<RegionId, std::vector<OrientedEdges>> m_regionLoops;
88 smtk::session::polygon::Resource::Ptr m_resource;
91 internal::Point m_bdsLo;
92 internal::Point m_bdsHi;
99 #endif // smtk_session_polygon_CreateFaces_h
The main namespace for the Simulation Modeling Tool Kit (SMTK).
Definition: doc.h:33
A entityref subclass that provides methods specific to models.
Definition: Model.h:30
An internal structure used when discovering edge loops.
Definition: CreateFaces.h:37
#define smtkCreateMacro(...)
Add static create() methods to a class.
Definition: SharedFromThis.h:173
#define smtkSharedFromThisMacro(...)
A macro to help with derived classes whose bases enable shared_from_this().
Definition: SharedFromThis.h:250
Operation is a base class for all SMTK operations.
Definition: Operation.h:61
#define smtkTypeMacro(...)
Add typedefs to a class for identifcation.
Definition: SharedFromThis.h:128
std::map< smtk::model::Edge, ModelEdgeInfo > ModelEdgeMap
An internal structure used to map model edges to information about the space between them.
Definition: CreateFaces.h:59
Create a face given a set of point coordinates or edges (but not both).
Definition: CreateFaces.h:64
#define smtkSuperclassMacro(...)
Add a typedef to the superclass of this class.
Definition: SharedFromThis.h:147
A entityref subclass with methods specific to edge-loops.
Definition: Loop.h:33
A entityref subclass that provides methods specific to 2-d face cells.
Definition: Face.h:36
Represent the neighborhood of a sweepline point, x.
Definition: Neighborhood.h:41
An operator using the polygon kernel.
Definition: Operation.h:38
std::set< smtk::model::EntityRef > EntityRefs
Definition: PublicPointerDefs.h:162