SMTK  @SMTK_VERSION@
Simulation Modeling Tool Kit
Static Public Member Functions | List of all members
smtk::model::EntityRefArrangementOps Class Reference

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)
 

Detailed Description

A class to help obtain entityrefs from arrangement information.

Member Function Documentation

◆ addSimpleRelationship()

int smtk::model::EntityRefArrangementOps::addSimpleRelationship ( const EntityRef a,
ArrangementKind  k,
const EntityRef b,
bool  find = true 
)
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.

◆ appendAllRelations()

template<typename T >
static void smtk::model::EntityRefArrangementOps::appendAllRelations ( const EntityRef c,
ArrangementKind  k,
T &  result 
)
inlinestatic

Append all the relations of kind k to result.

This will verify that each relation is valid before inserting it into result.

◆ findOrAddSimpleRelationship()

int smtk::model::EntityRefArrangementOps::findOrAddSimpleRelationship ( const EntityRef a,
ArrangementKind  k,
const EntityRef b 
)
static

Create the relationship between a and b (unless it already exists).

In either event, return its index.

◆ popAllShellHasUseRelations()

template<typename T , typename U >
static void smtk::model::EntityRefArrangementOps::popAllShellHasUseRelations ( ResourcePtr  resource,
EntityPtr  entRec,
Arrangements arr,
T &  result,
U &  rangeDetector 
)
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).


The documentation for this class was generated from the following files: