SMTK
@SMTK_VERSION@
Simulation Modeling Tool Kit
|
A class to help obtain entityrefs from arrangement information. More...
#include <EntityRefArrangementOps.h>
Static Public Member Functions | |
static int | findSimpleRelationship (const EntityRef &a, ArrangementKind k, const EntityRef &b) |
Return the index of a relationship between a and b if it exists. | |
static int | findOrAddSimpleRelationship (const EntityRef &a, ArrangementKind k, const EntityRef &b) |
Create the relationship between a and b (unless it already exists). More... | |
static int | addSimpleRelationship (const EntityRef &a, ArrangementKind k, const EntityRef &b, bool find=true) |
Create the relationship between a and b (whether or not it already exists). More... | |
template<typename T > | |
static T | firstRelation (const EntityRef &c, ArrangementKind k) |
Return the first relation of kind k as the specified entityref type T. | |
template<typename T > | |
static void | appendAllRelations (const EntityRef &c, ArrangementKind k, T &result) |
Append all the relations of kind k to result. More... | |
template<typename T > | |
static void | appendAllUseHasCellRelations (ResourcePtr resource, EntityPtr entRec, Arrangements *arr, T &result) |
Helper methods used by appendAllRelations. | |
template<typename T > | |
static void | appendAllCellHasUseRelations (ResourcePtr resource, EntityPtr entRec, Arrangements *arr, T &result) |
template<typename T > | |
static void | appendAllShellHasUseRelations (ResourcePtr resource, EntityPtr entRec, Arrangements *arr, T &result) |
template<typename T , typename U > | |
static void | popAllShellHasUseRelations (ResourcePtr resource, EntityPtr entRec, Arrangements *arr, T &result, U &rangeDetector) |
Invalidate all the relations participating in shell-has-use arrangements, clear the arrangements, and place the use records in result (in sequential order). More... | |
template<typename T > | |
static void | appendAllSimpleRelations (ResourcePtr resource, EntityPtr entRec, Arrangements *arr, T &result) |
A class to help obtain entityrefs from arrangement information.
|
static |
Create the relationship between a and b (whether or not it already exists).
This method returns the index of the relationship added or -1 if either of the entities do not exist.
|
inlinestatic |
Append all the relations of kind k to result.
This will verify that each relation is valid before inserting it into result.
|
static |
Create the relationship between a and b (unless it already exists).
In either event, return its index.
|
inlinestatic |
Invalidate all the relations participating in shell-has-use arrangements, clear the arrangements, and place the use records in result (in sequential order).
Add the indices of the invalidated relations to rangeDetector.
This can be used as a first step in rewriting loops (which must have edge-uses remain in order).