SMTK
@SMTK_VERSION@
Simulation Modeling Tool Kit
|
Create a polygonal model made up of vertices, edges, and faces. More...
#include <Delete.h>
Public Member Functions | |
smtkTypeMacro (smtk::session::polygon::Delete) | |
smtkCreateMacro (Delete) | |
smtkSharedFromThisMacro (smtk::operation::Operation) | |
smtkSuperclassMacro (Operation) | |
Public Member Functions inherited from smtk::operation::XMLOperation | |
smtkTypeMacro (XMLOperation) | |
smtkSharedFromThisMacro (smtk::operation::Operation) | |
Public Member Functions inherited from smtk::operation::Operation | |
smtkTypeMacroBase (smtk::operation::Operation) | |
virtual Index | index () const |
virtual bool | configure (const smtk::attribute::AttributePtr &changedAttribute=smtk::attribute::AttributePtr(), const smtk::attribute::ItemPtr &changedItem=smtk::attribute::ItemPtr()) |
Update the operation's specification and operations to be consistent. More... | |
virtual bool | ableToOperate () |
Check if the operation's attribute resource is valid. More... | |
Result | operate () |
Execute the operation, log its outcome and return its results. More... | |
Outcome | safeOperate () |
Execute the operation in an asynchronous environment. More... | |
Outcome | safeOperate (Handler handler) |
virtual bool | releaseResult (Result &result) |
Release the operation result returned by operate() . More... | |
virtual smtk::io::Logger & | log () const |
Retrieve the operation's logger. More... | |
Specification | specification () |
This accessor facilitates the lazy construction of the specification, allowing for derived implementations of its creation. More... | |
Parameters | parameters () |
Access the operation's input parameters, constructing them if necessary. More... | |
Parameters | parameters () const |
Result | createResult (Outcome) |
Create an attribute representing this operation's result type. More... | |
ManagerPtr | manager () const |
Operations that are managed have a non-null pointer to their manager. | |
bool | restoreTrace (const std::string &trace) |
restore operation parameters from the trace of a previously run operation. | |
void | setManagers (const std::shared_ptr< smtk::common::Managers > &m) |
Operations may be passed application state in the form of a Managers type-container. | |
std::shared_ptr< smtk::common::Managers > | managers () const |
virtual bool | threadSafe () const |
Is this type of operation safe to launch in a thread? | |
smtk::resource::ManagerPtr | resourceManager () |
retrieve the resource manager, if available. | |
Result | operate (Key) |
Protected Member Functions | |
Result | operateInternal () override |
Perform the actual operation and construct the result. | |
const char * | xmlDescription () const override |
template<typename U , typename V , typename W , typename X > | |
bool | checkAndAddBoundingCells (const smtk::model::EntityRef &ent, bool deleteBoundingCells, U &verts, V &edges, W &faces, X &other) |
Either add boundings cells or log messages. More... | |
template<typename U , typename V , typename W , typename X > | |
void | addBoundaryCells (const smtk::model::EntityRef &ent, U &verts, V &edges, W &faces, X &other) |
given an entity, add corresponding boundary cells For each given entity, if its lower-dimensional entity is not associated by any remaining entities, then this lower-dimensional entity would be deleted | |
Protected Member Functions inherited from smtk::session::polygon::Operation | |
template<typename T , typename U , typename V > | |
void | pointsForLoop (T &polypts, int numPtsToUse, U &start, U finish, int numCoordsPerPoint, V pmodel) |
template<typename T , typename U , typename V , typename W > | |
void | pointsForLoop (T &polypts, int numEdgesToUse, U &curEdge, U edgesFinish, V &curEdgeDir, V edgeDirFinish, W &outerLoopEdges) |
template<typename T , typename U > | |
void | pointsInLoopOrderFromOrientedEdges (T &polypts, U begin, U end, smtk::shared_ptr< internal::pmodel > pmodel) |
Protected Member Functions inherited from smtk::operation::XMLOperation | |
Specification | createSpecification () override |
Protected Member Functions inherited from smtk::operation::Operation | |
virtual ResourceAccessMap | identifyLocksRequired () |
Identify resources to lock, and whether to lock them for reading or writing. More... | |
virtual void | postProcessResult (Result &) |
virtual void | markModifiedResources (Result &) |
virtual bool | unmanageResources (Result &) |
virtual void | generateSummary (Result &) |
Specification | createBaseSpecification () const |
Protected Attributes | |
int | m_numInUse |
int | m_numWarnings |
smtk::model::EntityRefs | m_notRemoved |
smtk::model::EntityRefs | m_modified |
smtk::model::EntityArray | m_expunged |
Protected Attributes inherited from smtk::operation::Operation | |
int | m_debugLevel { 0 } |
std::weak_ptr< Manager > | m_manager |
std::shared_ptr< smtk::common::Managers > | m_managers |
Additional Inherited Members | |
Public Types inherited from smtk::operation::Operation | |
enum | Outcome { Outcome::UNABLE_TO_OPERATE, Outcome::CANCELED, Outcome::FAILED, Outcome::SUCCEEDED, Outcome::UNKNOWN = -1 } |
typedef std::size_t | Index |
typedef std::shared_ptr< smtk::attribute::Attribute > | Parameters |
typedef std::shared_ptr< smtk::attribute::Attribute > | Result |
typedef std::shared_ptr< smtk::attribute::Resource > | Specification |
typedef std::shared_ptr< smtk::attribute::Definition > | Definition |
Public Attributes inherited from smtk::operation::Operation | |
friend | Manager |
friend | ImportPythonOperation |
Create a polygonal model made up of vertices, edges, and faces.
The geometry in the model is all planar. By default, points are assumed to lie in the x-y plane with an origin of (0,0), but you may provide any base point and axes you prefer.
Coordinates are discretized to integers; you must pass either a feature size or a model scale to control how fine the approximation is.
Each polygonal modeling session may have multiple models but no geometric entities may be shared between them; attempting to share points across different discretizations on different projected planes would be error-prone at best.
|
protected |
Either add boundings cells or log messages.
If deleteBoundingCells is true, then for each cell in entities, add any dependents to verts, edges, or auxiliary geometry. If deleteBoundingCells is false, add a log message for the first umpteen entries in entities that have dependents. After umpteen, just print a count.
Returns true when deleteBoundingCells is true and false when both deleteBoundingCells is false and any cell in entities had a bounding cell.