Creates SMDS_Position according to shape type. More...
Public Member Functions | |
| SMDS_PositionPtr | MakePosition (const TopAbs_ShapeEnum type) |
| PositionCreator () | |
Private Types | |
| typedef SMDS_PositionPtr(PositionCreator::* | FmakePos )() const |
Private Member Functions | |
| SMDS_PositionPtr | edgePosition () const |
| SMDS_PositionPtr | facePosition () const |
| SMDS_PositionPtr | volumePosition () const |
| SMDS_PositionPtr | vertexPosition () const |
| SMDS_PositionPtr | defaultPosition () const |
Private Attributes | |
| vector< FmakePos > | myFuncTable |
Creates SMDS_Position according to shape type.
Definition at line 3533 of file SMESH_Gen_i.cxx.
typedef SMDS_PositionPtr(PositionCreator:: * PositionCreator.FmakePos)() const [private] |
Definition at line 3551 of file SMESH_Gen_i.cxx.
| PositionCreator.PositionCreator | ( | ) |
Definition at line 3538 of file SMESH_Gen_i.cxx.
References defaultPosition(), edgePosition(), facePosition(), myFuncTable, vertexPosition(), and volumePosition().
{
myFuncTable.resize( (size_t) TopAbs_SHAPE, & PositionCreator::defaultPosition );
myFuncTable[ TopAbs_SOLID ] = & PositionCreator::volumePosition;
myFuncTable[ TopAbs_FACE ] = & PositionCreator::facePosition;
myFuncTable[ TopAbs_EDGE ] = & PositionCreator::edgePosition;
myFuncTable[ TopAbs_VERTEX ] = & PositionCreator::vertexPosition;
}
| SMDS_PositionPtr PositionCreator.defaultPosition | ( | ) | const [private] |
Definition at line 3550 of file SMESH_Gen_i.cxx.
References SMDS_SpacePosition.originSpacePosition().
Referenced by PositionCreator().
{ return SMDS_SpacePosition::originSpacePosition(); }
| SMDS_PositionPtr PositionCreator.edgePosition | ( | ) | const [private] |
Definition at line 3546 of file SMESH_Gen_i.cxx.
Referenced by PositionCreator().
{ return SMDS_PositionPtr( new SMDS_EdgePosition ); }
| SMDS_PositionPtr PositionCreator.facePosition | ( | ) | const [private] |
Definition at line 3547 of file SMESH_Gen_i.cxx.
Referenced by PositionCreator().
{ return SMDS_PositionPtr( new SMDS_FacePosition ); }
| SMDS_PositionPtr PositionCreator.MakePosition | ( | const TopAbs_ShapeEnum | type | ) |
Definition at line 3535 of file SMESH_Gen_i.cxx.
References myFuncTable.
Referenced by SMESH_Gen_i.Load().
{
return (this->*myFuncTable[ type ])();
}
| SMDS_PositionPtr PositionCreator.vertexPosition | ( | ) | const [private] |
Definition at line 3549 of file SMESH_Gen_i.cxx.
Referenced by PositionCreator().
{ return SMDS_PositionPtr( new SMDS_VertexPosition); }
| SMDS_PositionPtr PositionCreator.volumePosition | ( | ) | const [private] |
Definition at line 3548 of file SMESH_Gen_i.cxx.
Referenced by PositionCreator().
{ return SMDS_PositionPtr( new SMDS_SpacePosition ); }
vector<FmakePos> PositionCreator.myFuncTable [private] |
Definition at line 3552 of file SMESH_Gen_i.cxx.
Referenced by MakePosition(), and PositionCreator().