SMTK
@SMTK_VERSION@
Simulation Modeling Tool Kit
|
A entityref subclass with methods specific to cell entities. More...
#include <CellEntity.h>
Public Member Functions | |
SMTK_ENTITYREF_CLASS (CellEntity, EntityRef, isCellEntity) | |
Model | model () const |
Return the model owning this cell (or an invalid entityref if the cell is free). | |
CellEntities | boundingCells () const |
Report all of the lower-dimensional cells bounding this cell. More... | |
UseEntities | boundingCellUses (Orientation orientation) const |
Return oriented uses of boundary cells. More... | |
template<typename T > | |
T | boundingCellsAs () const |
template<typename T > | |
T | inclusions () const |
Return the list of all entities embedded in this cell. More... | |
template<typename T > | |
T | uses () const |
Report all of the "use" records associated with the cell. More... | |
ShellEntity | findShellEntityContainingUse (const UseEntity &bdyUse) |
Return the shell entity bounding this cell which contains bdyUse. More... | |
ShellEntities | findShellEntitiesContainingCell (const CellEntity &cell) |
Return the shell entity bounding this cell which contains useEnt. More... | |
![]() | |
SMTK_BASE_TYPE (EntityRef) | |
EntityRef () | |
Construct an invalid entityref. | |
EntityRef (ResourcePtr resource, const smtk::common::UUID &entityId) | |
Construct a entityref referencing a given entity residing in the given rsrc. | |
EntityRef (EntityPtr src) | |
Construct a entityref referencing a given entity residing in the given rsrc. | |
bool | setResource (ResourcePtr resource) |
Change the underlying resource the entityref references. | |
ResourcePtr | resource () |
Return the underlying resource the entityref references. | |
const ResourcePtr | resource () const |
bool | setEntity (const smtk::common::UUID &entityId) |
Change the UUID of the entity the entityref references. | |
const smtk::common::UUID & | entity () const |
Return the UUID of the entity the entityref references. | |
smtk::model::EntityPtr | entityRecord () const |
Return the smtk::model::Entity record for this model entity. | |
smtk::resource::ComponentPtr | component () const |
Return the resource component for this model entity. | |
int | dimension () const |
Return the nominal parametric dimension of the entity (or -1). More... | |
int | dimensionBits () const |
Return the nominal parametric dimension(s) of the entity as a bit vector. More... | |
void | setDimensionBits (BitFlags dim) |
Set the dimensionality of this entity. More... | |
BitFlags | entityFlags () const |
Return the bit vector describing the entity's type. More... | |
std::string | flagSummary (int form=0) const |
A string summary of the type of entity represented by this entityref. More... | |
int | maxParametricDimension () const |
Return the maximum number of coordinates required to parameterize this model's point locus. More... | |
int | embeddingDimension () const |
Return the dimension of the space into which this entity is embedded. More... | |
std::string | name () const |
Report the name associated with this entity. More... | |
void | setName (const std::string &n) |
Assign a name to an entity. More... | |
std::string | assignDefaultName (bool overwrite=false) |
Assign a default name to the entity. More... | |
bool | hasVisibility () const |
Returns true if the "visible" integer-property exists. | |
bool | visible () const |
Report the visibility associated with this entity. More... | |
void | setVisible (bool vis) |
Assign the visible property to an entity. More... | |
void | setExclusions (bool v, int mask=Exclusions::Everything) |
Set the exclusions. More... | |
int | exclusions (int mask=Exclusions::Everything) const |
Get the exclusions status. More... | |
FloatList | color () const |
Return a user-assigned color for the entity. More... | |
bool | hasColor () const |
Returns true if the "color" float-property exists. No check on the size is performed. | |
void | setColor (const FloatList &rgba) |
Assign a color to an entity. More... | |
void | setColor (double r, double g, double b, double a=1.) |
Assign a color to an entity. More... | |
bool | isValid () const |
Return whether the entityref is pointing to valid resource that contains the UUID of the entity. More... | |
virtual bool | isValid (EntityPtr *entityRecord) const |
Return whether the entityref is pointing to valid resource that contains the UUID of the entity. More... | |
virtual bool | checkForArrangements (ArrangementKind k, EntityPtr &entry, Arrangements *&arr) const |
A wrapper around EntityRef::isValid() which also verifies an arrangement exists. | |
bool | isCellEntity () const |
bool | isUseEntity () const |
bool | isShellEntity () const |
bool | isGroup () const |
bool | isModel () const |
bool | isInstance () const |
bool | isSessionRef () const |
bool | isAuxiliaryGeometry () const |
bool | isConcept () const |
bool | isVertex () const |
bool | isEdge () const |
bool | isFace () const |
bool | isVolume () const |
bool | isChain () const |
bool | isLoop () const |
bool | isShell () const |
bool | isVertexUse () const |
bool | isEdgeUse () const |
bool | isFaceUse () const |
bool | isVolumeUse () const |
template<typename T > | |
T | as () const |
Reinterpret a entityref as a subclass. More... | |
EntityRefs | bordantEntities (int ofDimension=-2) const |
EntityRefs | boundaryEntities (int ofDimension=-2) const |
std::vector< double > | boundingBox () const |
std::vector< double > | unionBoundingBox (const std::vector< double > &b1, const std::vector< double > &b2) const |
std::vector< double > | unionBoundingBox (const std::vector< double > &b1, const std::array< double, 6 > &b2) const |
EntityRefs | lowerDimensionalBoundaries (int lowerDimension) |
EntityRefs | higherDimensionalBordants (int higherDimension) |
EntityRefs | adjacentEntities (int ofDimension) |
template<typename T > | |
T | relationsAs () const |
Return all of the entities related to this entityref. More... | |
EntityRefs | relations () const |
Return a set of entities related to this entity. This method is provided for Python wrapping. | |
EntityRef & | addRawRelation (const EntityRef &ent) |
Add a relation to an entity, ent, without specifying the relationship's nature. More... | |
EntityRef & | findOrAddRawRelation (const EntityRef &ent) |
Find or add a relation to an entity, ent, without specifying the relationship's nature. More... | |
EntityRef & | elideRawRelation (const EntityRef &ent) |
Nullify a relation to the given entity, ent. More... | |
smtk::mesh::MeshSet | meshTessellation () const |
Return the entity's mesh tessellation. More... | |
Tessellation * | resetTessellation () |
Return an empty tessellation attached to the entity. More... | |
const Tessellation * | hasTessellation () const |
Return the entity's tessellation if one exists or nullptr otherwise. | |
const Tessellation * | hasAnalysisMesh () const |
Return the entity's analysis mesh if one exists or nullptr otherwise. | |
const Tessellation * | gotMesh () const |
Return the entity's analysis mesh if one exists, otherwise return the entity's tessellation. More... | |
int | setTessellation (const Tessellation *tess, int analysisMesh=0, bool updateBBox=false) |
Set the tessellation of the entity, returning its generation number (or -1 on failure). More... | |
int | setTessellationAndBoundingBox (const Tessellation *tess, int analysisMesh=0) |
bool | removeTessellation (bool removeGen=false) |
Remove the tessellation of the entity, returning true if such a tessellation existed. More... | |
void | findEntitiesWithTessellation (std::map< smtk::model::EntityRef, smtk::model::EntityRef > &entityrefMap, std::set< smtk::model::EntityRef > &touched) const |
A convenient method for finding all entities with tessellations owned by this entity. More... | |
int | tessellationGeneration () const |
Return the generation number of the current tessellation (or -1 if no tessellation). | |
bool | setTessellationGeneration (int gen) |
Set the tessellation generation number. More... | |
void | setBoundingBox (const double bbox[6]) |
Set the bounding box of the entity. More... | |
template<typename T > | |
bool | disassociateAttributes (const T &attribPtrs) |
Returns true if at least 1 attribute in the set of attribPtrs was removed. | |
smtk::attribute::Attributes | attributes (smtk::attribute::ConstResourcePtr res) const |
Return a list of attributes on the entity based on an attribute resource. | |
smtk::attribute::Attributes | attributes () const |
Return a list of attributes on the entity based on the resource manager. More... | |
template<typename T > | |
bool | removeProperty (const std::string &name) |
Remove the property of type T with the given name, returning true on success. More... | |
void | setFloatProperty (const std::string &propName, smtk::model::Float propValue) |
void | setFloatProperty (const std::string &propName, const smtk::model::FloatList &propValue) |
smtk::model::FloatList const & | floatProperty (const std::string &propName) const |
smtk::model::FloatList & | floatProperty (const std::string &propName) |
bool | hasFloatProperty (const std::string &propName) const |
bool | removeFloatProperty (const std::string &propName) |
bool | hasFloatProperties () const |
Does this entity have any float-valued properties? More... | |
std::set< std::string > | floatPropertyNames () const |
Return the names of all the floating-point properties. | |
void | setStringProperty (const std::string &propName, const smtk::model::String &propValue) |
void | setStringProperty (const std::string &propName, const smtk::model::StringList &propValue) |
smtk::model::StringList const & | stringProperty (const std::string &propName) const |
smtk::model::StringList & | stringProperty (const std::string &propName) |
bool | hasStringProperty (const std::string &propName) const |
bool | removeStringProperty (const std::string &propName) |
bool | hasStringProperties () const |
Does this entity have any string-valued properties? More... | |
std::set< std::string > | stringPropertyNames () const |
Return the names of all the string properties. | |
void | setIntegerProperty (const std::string &propName, smtk::model::Integer propValue) |
void | setIntegerProperty (const std::string &propName, const smtk::model::IntegerList &propValue) |
smtk::model::IntegerList const & | integerProperty (const std::string &propName) const |
smtk::model::IntegerList & | integerProperty (const std::string &propName) |
bool | hasIntegerProperty (const std::string &propName) const |
bool | removeIntegerProperty (const std::string &propName) |
bool | hasIntegerProperties () const |
Does this entity have any integer-valued properties? More... | |
std::set< std::string > | integerPropertyNames () const |
Return the names of all the integer properties. | |
int | numberOfArrangementsOfKind (ArrangementKind k) const |
Return the number of arrangements of the given kind k. | |
Arrangement * | findArrangement (ArrangementKind k, int index) |
Return the i-th arrangement of kind k (or nullptr). | |
const Arrangement * | findArrangement (ArrangementKind k, int index) const |
Return the i-th arrangement of kind k (or nullptr). | |
bool | clearArrangements () |
Delete all arrangements of this entity with prejudice. | |
EntityRef | relationFromArrangement (ArrangementKind k, int arrangementIndex, int offset) const |
Return the relation specified by the offset into the specified arrangement. | |
bool | removeArrangement (ArrangementKind k, int index=-1) |
Remove an arrangement. More... | |
EntityRef & | embedEntity (const EntityRef &thingToEmbed, bool checkExistence=true) |
Embed the specified thingToEmbed as an inclusion into this entityref's entity. More... | |
template<typename T > | |
EntityRef & | embedEntities (const T &container, bool checkExistence=true) |
Embed each of the entities in the container inside this entity. | |
bool | isEmbedded (EntityRef &ent) const |
Return whether the specified entity is a direct inclusion in this entityref's entity. | |
EntityRef | embeddedIn () const |
Report the entity into which this entity is directly embedded. More... | |
bool | unembedEntity (const EntityRef &thingToUnembed) |
Unembed the specified thingToUnembed as an inclusion into this entityref's entity. More... | |
template<typename T > | |
EntityRef & | unembedEntities (const T &container) |
template<typename T > | |
T | embeddedEntities () const |
template<typename T > | |
T | instances () const |
Return all the instances this object serves as a prototype for. | |
Model | owningModel () const |
Return the Model which owns this entity. More... | |
SessionRef | owningSession () const |
Return the SessionRef which owns this entity. More... | |
Groups | containingGroups () const |
Return the Groups which contains this entity. | |
bool | isMember (const EntityRef &entity) const |
Return true when this EntityRef has a SUPERSET_OF relationship with ent. | |
EntityRef | memberOf () const |
Return the first entity that this EntityRef has a SUBSET_OF relationship with. | |
bool | operator== (const EntityRef &other) const |
A comparator provided so that entityrefs may be included in ordered sets. | |
bool | operator!= (const EntityRef &other) const |
A comparator provided for convenience. | |
bool | operator< (const EntityRef &other) const |
A comparator provided so that entityrefs may be included in ordered sets. | |
operator bool () const | |
std::size_t | hash () const |
A hash function for entityrefs. More... | |
template<> | |
SMTKCORE_EXPORT bool | removeProperty (const std::string &pname) |
template<> | |
SMTKCORE_EXPORT bool | removeProperty (const std::string &pname) |
template<> | |
SMTKCORE_EXPORT bool | removeProperty (const std::string &pname) |
bool | hasAttributes () const |
Does the entityref have any attributes associated with it? Note that this method uses the resource manager. More... | |
bool | hasAttributes (smtk::attribute::ConstResourcePtr attRes) const |
Does the entityref have any attributes associated with it from a specific attribute resource? | |
bool | hasAttribute (const smtk::common::UUID &attribId) const |
Does the entityref have a specific attribute (represented by an UUID) associate to it. More... | |
bool | associateAttribute (smtk::attribute::ResourcePtr attResource, const smtk::common::UUID &attribId) |
Does the entityref have any attributes associated with it? - To be deprecated. | |
bool | disassociateAttribute (smtk::attribute::ResourcePtr attResource, const smtk::common::UUID &attribId) |
Disassociate an attribute from the entity? - To be deprecated. | |
bool | disassociateAttribute (smtk::attribute::ResourcePtr attResource, const smtk::common::UUID &attribId, bool reverse) |
Disassociate an attribute from the entity? - To be deprecated! | |
bool | disassociateAllAttributes (smtk::attribute::ResourcePtr attResource) |
Remove all attribute association form this entityref. | |
bool | disassociateAllAttributes (smtk::attribute::ResourcePtr attResource, bool reverse) |
Remove all attribute association form this entityref - To be deprecated! | |
smtk::attribute::Attributes | attributes (smtk::attribute::ConstDefinitionPtr def) const |
Return a list of attributes on the entity based on an attribute definition. More... | |
Additional Inherited Members | |
![]() | |
template<typename S , typename T > | |
static void | EntityRefsFromUUIDs (S &result, ResourcePtr, const T &uids) |
Convert a set of UUIDs into a set of entityrefs referencing the same rsrc. More... | |
template<typename S , typename T > | |
static void | EntityRefsToUUIDs (S &uids, const T &entRefs) |
![]() | |
EntityRef & | addMemberEntity (const EntityRef &memberToAdd) |
Add an entity as a member of this entity without any membership constraint checks. | |
template<typename T > | |
EntityRef & | addMemberEntities (T begin, T end) |
EntityRef & | removeMemberEntity (const EntityRef &memberToRemove) |
Remove the memberToRemove from this EntityRef. More... | |
EntityRef & | removeMemberEntity (int indexOfMemberToRemove) |
Remove a member from this EntityRef given the index of its arrangement. More... | |
template<typename T > | |
EntityRef & | removeMemberEntities (T begin, T end) |
ResourceEventRelationType | subsetRelationType (const EntityRef &member) const |
Determine the nature of a SUPERSET_OF relationship. More... | |
ResourceEventRelationType | embeddingRelationType (const EntityRef &embedded) const |
Determine the nature of an EMBEDDED_IN relationship. More... | |
![]() | |
smtk::model::WeakResourcePtr | m_resource |
smtk::common::UUID | m_entity |
A entityref subclass with methods specific to cell entities.
CellEntities smtk::model::CellEntity::boundingCells | ( | ) | const |
Report all of the lower-dimensional cells bounding this cell.
The bounding cells are obtained by traversing all of the shells of the first use of this cell.
UseEntities smtk::model::CellEntity::boundingCellUses | ( | Orientation | orientation | ) | const |
Return oriented uses of boundary cells.
This method takes a cell-use of this cell with the given orientation, fetches all of that use's shell entities and appends all of those shells' cell-uses to the output.
For example, calling boundingCellUses(POSITIVE) on a face will return a set of edge uses that define the boundary of the face.
Note that a Volume may only have a POSITIVE orientation and vertices have no boundary.
ShellEntities smtk::model::CellEntity::findShellEntitiesContainingCell | ( | const CellEntity & | cell | ) |
Return the shell entity bounding this cell which contains useEnt.
Return all of the shells bounding this cell which reference the given cell. This obtains all the uses of cell and collects the shell entities for each using CellEntity::findShellEntityContainingUse().
ShellEntity smtk::model::CellEntity::findShellEntityContainingUse | ( | const UseEntity & | bdyUse | ) |
Return the shell entity bounding this cell which contains bdyUse.
This can be used to determine (for cells with holes) which boundary segment contains a given orientation and sense of a given bounding cell. For example, you may ask a volume for the shell containing a face-use. You can then ask the shell for its sense relative to the cell and its parent (either the cell if it is an outer shell or another shell if it is an inner shell).
T smtk::model::CellEntity::inclusions |
Return the list of all entities embedded in this cell.
Note that the inverse of this relation is provided by EntityRef::embeddedIn().
T smtk::model::CellEntity::uses |
Report all of the "use" records associated with the cell.
The uses can be used to discover higher-dimensional cells that this cell borders. Each sense of a cell has its own use.