SMTK
@SMTK_VERSION@
Simulation Modeling Tool Kit
|
A entityref subclass that provides methods specific to models. More...
#include <Model.h>
Public Member Functions | |
SMTK_ENTITYREF_CLASS (Model, EntityRef, isModel) | |
ModelGeometryStyle | geometryStyle () const |
Return information about how the modeling kernel represents this model. More... | |
void | setEmbeddingDimension (int dim) |
Set the number coordinate values used to specify each point in the locus of this model. More... | |
EntityRef | parent () const |
Return the parent of this entity, which should be a SessionRef or another Model. | |
SessionRef | session () const |
Return a reference to the session that owns this model. More... | |
void | setSession (const SessionRef &sess) |
Update this model so that it refers to sess as its owner. | |
bool | isModified () const |
void | setIsModified (bool isModified) |
CellEntities | cells () const |
Return the cells directly owned by this model. | |
Groups | groups () const |
Return the groups directly owned by this model. | |
Models | submodels () const |
Return the models directly owned by this model. | |
AuxiliaryGeometries | auxiliaryGeometry () const |
Return the auxiliary geometry instances directly owned by this model. | |
template<typename T > | |
T | cellsAs () const |
Return the top-level (free) cells of this model in a container of the template type. | |
template<typename T > | |
T | groupsAs () const |
Return the top-level (free) groups of this model in a container of the template type. | |
template<typename T > | |
T | submodelsAs () const |
Return the child models of this model in a container of the template type. | |
template<typename T > | |
void | appendCells (T &container) const |
Append free cells of this model to the given container. Only valid cells are inserted. | |
Model & | addCell (const CellEntity &c, bool checkExists=true) |
Add all the free cell c to this model. More... | |
Model & | removeCell (const CellEntity &c) |
template<typename T > | |
Model & | addCells (const T &container, bool checkExists=true) |
Add all the free cells in container to this model. More... | |
template<typename T > | |
Model & | removeCells (const T &container) |
Remove all the free cells in container from this model. | |
Model & | addGroup (const Group &g) |
Model & | removeGroup (const Group &g) |
template<typename T > | |
Model & | addGroups (const T &container) |
Add all the groups in container to this model. | |
template<typename T > | |
Model & | removeGroups (const T &container) |
Add all the groups in container to this model. | |
Model & | addSubmodel (const Model &m) |
Model & | removeSubmodel (const Model &m) |
template<typename T > | |
Model & | addSubmodels (const T &container) |
Add all the models in container as submodels to this model. | |
template<typename T > | |
Model & | removeSubmodels (const T &container) |
Remove all the models in container from this model (if they are submodels). | |
Model & | addAuxiliaryGeometry (const AuxiliaryGeometry &ag) |
Add the given auxiliary geometry to this model. | |
Model & | removeAuxiliaryGeometry (const AuxiliaryGeometry &ag) |
Remove the given auxiliary geometry from this model (if present as a top-level entry). | |
template<typename T > | |
Model & | addAuxiliaryGeometries (const T &container) |
Add all the auxiliary geometry entities in container to this model. | |
template<typename T > | |
Model & | removeAuxiliaryGeometries (const T &container) |
Remove all the auxiliary geometry entities in container from this model. | |
void | assignDefaultNames () |
An efficient method for assigning default names to all of the model's entities. | |
EntityRefs | entitiesWithTessellation () const |
A convenient method for finding all entities with tessellations owned by this model. 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 that provides methods specific to models.
Model & smtk::model::Model::addCell | ( | const CellEntity & | c, |
bool | checkExists = true |
||
) |
Add all the free cell c to this model.
If checkExistence is true, then c will only be added if the model does not already reference it. Because references like this are not indexed, this check is expensive; when adding many newly-created cells, pass false to avoid the overhead. The default is true.
Model & smtk::model::Model::addCells | ( | const T & | container, |
bool | checkExistence = true |
||
) |
Add all the free cells in container to this model.
If checkExistence is true, then cells will only be added if the model does not already reference them. See addCell() for more information.
EntityRefs smtk::model::Model::entitiesWithTessellation | ( | ) | const |
A convenient method for finding all entities with tessellations owned by this model.
Note that this method will include both cells and groups that have tessellations.
ModelGeometryStyle smtk::model::Model::geometryStyle | ( | ) | const |
Return information about how the modeling kernel represents this model.
SessionRef smtk::model::Model::session | ( | ) | const |
Return a reference to the session that owns this model.
Note that a model may be owned by other models, so this differs from Model::parent() in that it continues up the tree of parent models until it finds an owning Session.
If a model is ill-defined (invalid or with an invalid session) the returned SessionRef will be invalid.
void smtk::model::Model::setEmbeddingDimension | ( | int | dim | ) |
Set the number coordinate values used to specify each point in the locus of this model.
This should meet or exceed the maxParametricDimension() of every entity in the model.
WARNING: This is not intended to be changed during the lifetime of a model; this method exists for the convenience of session classes.