#include <SMESHDS_GroupOnGeom.hxx>

Public Member Functions | |
| SMESHDS_GroupOnGeom (const int theID, const SMESHDS_Mesh *theMesh, const SMDSAbs_ElementType theType, const TopoDS_Shape &theShape) | |
| void | SetShape (const TopoDS_Shape &theShape) |
| TopoDS_Shape | GetShape () const |
| virtual bool | Contains (const int theID) |
| virtual bool | Contains (const SMDS_MeshElement *elem) |
| virtual SMDS_ElemIteratorPtr | GetElements () const |
| int | GetID () const |
| int | GetID (const int theIndex) |
| const SMESHDS_Mesh * | GetMesh () const |
| virtual void | SetType (SMDSAbs_ElementType theType) |
| SMDSAbs_ElementType | GetType () const |
| void | SetStoreName (const char *theName) |
| const char * | GetStoreName () const |
| virtual int | Extent () |
| virtual bool | IsEmpty () |
| void | SetColor (const Quantity_Color &theColor) |
| Quantity_Color | GetColor () const |
| void | SetColorGroup (int theColorGroup) |
| int | GetColorGroup () const |
Protected Member Functions | |
| const SMDS_MeshElement * | findInMesh (const int theID) const |
| void | resetIterator () |
| Internal method: resets cached iterator, should be called by ancestors when they are modified (ex: Add() or Remove() ) | |
Private Attributes | |
| TopoDS_Shape | myShape |
| const SMESHDS_SubMesh * | mySubMesh |
Definition at line 37 of file SMESHDS_GroupOnGeom.hxx.
| SMESHDS_GroupOnGeom::SMESHDS_GroupOnGeom | ( | const int | theID, |
| const SMESHDS_Mesh * | theMesh, | ||
| const SMDSAbs_ElementType | theType, | ||
| const TopoDS_Shape & | theShape | ||
| ) |
Definition at line 39 of file SMESHDS_GroupOnGeom.cxx.
References SetShape().
: SMESHDS_GroupBase(theID,theMesh,theType) { SetShape( theShape ); }
Reimplemented from SMESHDS_GroupBase.
Definition at line 116 of file SMESHDS_GroupOnGeom.cxx.
References SMESHDS_SubMesh.Contains(), SMESHDS_GroupBase.findInMesh(), and mySubMesh.
{
return mySubMesh->Contains( findInMesh( theID ));
}
| bool SMESHDS_GroupOnGeom::Contains | ( | const SMDS_MeshElement * | elem | ) | [virtual] |
Reimplemented from SMESHDS_GroupBase.
Definition at line 126 of file SMESHDS_GroupOnGeom.cxx.
References SMESHDS_SubMesh.Contains(), and mySubMesh.
| int SMESHDS_GroupBase::Extent | ( | ) | [virtual, inherited] |
Reimplemented in SMESHDS_Group.
Definition at line 108 of file SMESHDS_GroupBase.cxx.
References SMESHDS_GroupBase.GetElements().
Referenced by SMESH_GroupBase_i.GetListOfID(), SMESH_GroupBase_i.GetMeshInfo(), DriverUNV_W_SMDS_Mesh.Perform(), SMESH.Controls.GroupColor.SetMesh(), and SMESH_GroupBase_i.Size().
{
SMDS_ElemIteratorPtr it = GetElements();
int nb = 0;
if ( it )
for ( ; it->more(); it->next() )
nb++;
return nb;
}
| const SMDS_MeshElement * SMESHDS_GroupBase::findInMesh | ( | const int | theID | ) | const [protected, inherited] |
Definition at line 76 of file SMESHDS_GroupBase.cxx.
References SMDS_Mesh.FindElement(), SMDS_Mesh.FindNode(), SMESHDS_GroupBase.GetMesh(), SMDS_MeshElement.GetType(), SMESHDS_GroupBase.GetType(), SMDSAbs_All, and SMDSAbs_Node.
Referenced by SMESHDS_Group.Add(), Contains(), SMESHDS_Group.Contains(), and SMESHDS_Group.Remove().
{
SMDSAbs_ElementType aType = GetType();
const SMDS_MeshElement* aElem = NULL;
if (aType == SMDSAbs_Node) {
aElem = GetMesh()->FindNode(theID);
}
else if (aType != SMDSAbs_All) {
aElem = GetMesh()->FindElement(theID);
if (aElem && aType != aElem->GetType())
aElem = NULL;
}
return aElem;
}
| Quantity_Color SMESHDS_GroupBase.GetColor | ( | ) | const [inherited] |
Definition at line 79 of file SMESHDS_GroupBase.hxx.
Referenced by SMESH_GroupBase_i.GetColor(), SMESHDS_GroupBase.GetColorGroup(), DriverMED_Family.Init(), and SMESH.Controls.GroupColor.SetMesh().
{ return myColor;}
| int SMESHDS_GroupBase::GetColorGroup | ( | ) | const [inherited] |
Definition at line 195 of file SMESHDS_GroupBase.cxx.
References SMESHDS_GroupBase.GetColor().
Referenced by SMESH_GroupBase_i.GetColorNumber().
| SMDS_ElemIteratorPtr SMESHDS_GroupOnGeom::GetElements | ( | ) | const [virtual] |
Implements SMESHDS_GroupBase.
Definition at line 106 of file SMESHDS_GroupOnGeom.cxx.
References SMESHDS_GroupBase.GetType(), and mySubMesh.
{
return SMDS_ElemIteratorPtr( new MyIterator ( GetType(), mySubMesh ));
}
| int SMESHDS_GroupBase.GetID | ( | ) | const [inherited] |
Definition at line 49 of file SMESHDS_GroupBase.hxx.
Referenced by SMESH_GroupBase_i.GetID(), SMESH_GroupBase_i.GetListOfID(), DriverUNV_W_SMDS_Mesh.Perform(), SMESH_Gen_i.Save(), and SMESH.Controls.GroupColor.SetMesh().
{ return myID; }
Definition at line 56 of file SMESHDS_GroupBase.cxx.
References SMESHDS_GroupBase.GetElements(), SMESHDS_GroupBase.myCurID, SMESHDS_GroupBase.myCurIndex, and SMESHDS_GroupBase.myIterator.
{
if (myCurIndex < 1 || myCurIndex > theIndex) {
myIterator = GetElements();
myCurIndex = 0;
myCurID = -1;
}
while (myCurIndex < theIndex && myIterator->more()) {
myCurIndex++;
myCurID = myIterator->next()->GetID();
}
return myCurIndex == theIndex ? myCurID : -1;
}
| const SMESHDS_Mesh* SMESHDS_GroupBase.GetMesh | ( | ) | const [inherited] |
Definition at line 51 of file SMESHDS_GroupBase.hxx.
Referenced by ChangeByPredicate(), SMESHDS_GroupBase.findInMesh(), StdMeshers_ImportSource1D.GetSourceMeshes(), and SetShape().
{ return myMesh; }
| TopoDS_Shape SMESHDS_GroupOnGeom.GetShape | ( | ) | const |
Definition at line 48 of file SMESHDS_GroupOnGeom.hxx.
Referenced by SMESH_Mesh_i.CheckGeomGroupModif(), and SMESH_GroupOnGeom_i.GetShape().
{ return myShape; }
| const char* SMESHDS_GroupBase.GetStoreName | ( | ) | const [inherited] |
Definition at line 59 of file SMESHDS_GroupBase.hxx.
Referenced by SMESH_MeshEditor.generateGroups(), DriverMED_R_SMESHDS_Mesh.GetGroup(), DriverMED_Family.Init(), DriverUNV_W_SMDS_Mesh.Perform(), and SMESH_Gen_i.Save().
{ return myStoreName.c_str(); }
| SMDSAbs_ElementType SMESHDS_GroupBase.GetType | ( | ) | const [inherited] |
Definition at line 55 of file SMESHDS_GroupBase.hxx.
Referenced by SMESH_Mesh.ConvertToStandalone(), SMESH_Gen_i.CopyMesh(), SMESHDS_GroupBase.findInMesh(), SMESH_MeshEditor.generateGroups(), GetElements(), DriverMED_R_SMESHDS_Mesh.GetGroup(), SMESH_GroupBase_i.GetType(), StdMeshers_Import_1D.importMesh(), DriverMED_Family.Init(), DriverUNV_W_SMDS_Mesh.Perform(), SMESH.Controls.GroupColor.SetMesh(), and SMESHDS_Group.SetType().
{ return myType; }
| bool SMESHDS_GroupBase::IsEmpty | ( | ) | [virtual, inherited] |
Reimplemented in SMESHDS_Group.
Definition at line 123 of file SMESHDS_GroupBase.cxx.
References SMESHDS_GroupBase.GetElements().
Referenced by SMESH_MeshEditor.generateGroups(), and SMESH_GroupBase_i.IsEmpty().
{
SMDS_ElemIteratorPtr it = GetElements();
return ( !it || !it->more() );
}
| void SMESHDS_GroupBase::resetIterator | ( | ) | [protected, inherited] |
Internal method: resets cached iterator, should be called by ancestors when they are modified (ex: Add() or Remove() )
Definition at line 97 of file SMESHDS_GroupBase.cxx.
References SMESHDS_GroupBase.myCurID, and SMESHDS_GroupBase.myCurIndex.
Referenced by SMESHDS_Group.Add(), SMESHDS_Group.Clear(), and SMESHDS_Group.Remove().
{
myCurIndex = 0;
myCurID = -1;
}
| void SMESHDS_GroupBase.SetColor | ( | const Quantity_Color & | theColor | ) | [inherited] |
Definition at line 76 of file SMESHDS_GroupBase.hxx.
Referenced by SMESH_Gen_i.Load(), SMESH_GroupBase_i.SetColor(), and SMESHDS_GroupBase.SetColorGroup().
{ myColor = theColor;}
| void SMESHDS_GroupBase::SetColorGroup | ( | int | theColorGroup | ) | [inherited] |
Definition at line 171 of file SMESHDS_GroupBase.cxx.
References SMESHDS_GroupBase.SetColor().
Referenced by DriverMED_R_SMESHDS_Mesh.GetGroup(), and SMESH_GroupBase_i.SetColorNumber().
{
int aRed = ( theColorGroup/1000000 );
int aGreen = ( theColorGroup -aRed*1000000)/1000;
int aBlue = ( theColorGroup - aRed*1000000 - aGreen*1000 );
double aR = aRed/255.0;
double aG = aGreen/255.0;
double aB = aBlue/255.0;
if ( aR < 0. || aR > 1. || // PAL19395
aG < 0. || aG > 1. ||
aB < 0. || aB > 1. )
// #ifdef _DEBUG_
// cout << "SMESHDS_GroupBase::SetColorGroup("<<theColorGroup<<"), invalid color ignored"<<endl;
// #endif
return;
Quantity_Color aColor( aR, aG, aB, Quantity_TOC_RGB );
SetColor( aColor );
}
| void SMESHDS_GroupOnGeom::SetShape | ( | const TopoDS_Shape & | theShape | ) |
Definition at line 48 of file SMESHDS_GroupOnGeom.cxx.
References SMESHDS_Mesh.AddCompoundSubmesh(), SMESHDS_GroupBase.GetMesh(), SMESHDS_Mesh.MeshElements(), myShape, and mySubMesh.
Referenced by SMESH_Mesh_i.CheckGeomGroupModif(), and SMESHDS_GroupOnGeom().
{
SMESHDS_Mesh* aMesh = const_cast<SMESHDS_Mesh*>( GetMesh() );
mySubMesh = aMesh->MeshElements( aMesh->AddCompoundSubmesh( theShape ));
myShape = theShape;
}
| void SMESHDS_GroupBase.SetStoreName | ( | const char * | theName | ) | [inherited] |
Definition at line 57 of file SMESHDS_GroupBase.hxx.
Referenced by SMESH_Mesh.ExportUNV(), SMESH_MeshEditor.generateGroups(), SMESH_Gen_i.Load(), SMESH_Mesh.MEDToMesh(), SMESH_Gen_i.Save(), and SMESH_Mesh.UNVToMesh().
{ myStoreName = theName; }
| void SMESHDS_GroupBase::SetType | ( | SMDSAbs_ElementType | theType | ) | [virtual, inherited] |
Reimplemented in SMESHDS_Group.
Definition at line 161 of file SMESHDS_GroupBase.cxx.
References SMESHDS_GroupBase.myType.
{
myType = theType;
}
TopoDS_Shape SMESHDS_GroupOnGeom.myShape [private] |
Definition at line 58 of file SMESHDS_GroupOnGeom.hxx.
Referenced by SetShape().
const SMESHDS_SubMesh* SMESHDS_GroupOnGeom.mySubMesh [private] |
Definition at line 59 of file SMESHDS_GroupOnGeom.hxx.
Referenced by Contains(), GetElements(), and SetShape().