2 // File: SMDS_MeshNode.cxx
3 // Created: Wed Jan 23 17:02:11 2002
4 // Author: Jean-Michel BOULCOURT
5 // <jmb@coulox.paris1.matra-dtv.fr>
8 #include "SMDS_MeshNode.ixx"
9 #include "SMDS_ListIteratorOfListOfMeshElement.hxx"
10 #include "SMDS_SpacePosition.hxx"
12 static Handle(SMDS_Position)& StaticInstancePosition()
14 static Handle(SMDS_SpacePosition) staticpos;
15 if (staticpos.IsNull())
16 staticpos = new SMDS_SpacePosition();
21 //=======================================================================
22 //function : SMDS_MeshNode
24 //=======================================================================
26 SMDS_MeshNode::SMDS_MeshNode(const Standard_Integer ID,
27 const Standard_Real x, const Standard_Real y, const Standard_Real z) :
28 SMDS_MeshElement(ID,1,SMDSAbs_Node),myPnt(x,y,z),myPosition(StaticInstancePosition())
33 //=======================================================================
34 //function : RemoveInverseElement
36 //=======================================================================
38 void SMDS_MeshNode::RemoveInverseElement(const Handle(SMDS_MeshElement)& parent)
41 SMDS_ListIteratorOfListOfMeshElement itLstInvCnx(myInverseElements);
43 for (;itLstInvCnx.More();itLstInvCnx.Next()) {
44 Handle(SMDS_MeshElement)& ME = itLstInvCnx.Value();
45 if (ME->IsSame(parent))
46 myInverseElements.Remove(itLstInvCnx);
47 if (!itLstInvCnx.More())
53 //=======================================================================
56 //=======================================================================
58 void SMDS_MeshNode::Print(Standard_OStream& OS) const
60 OS << "Node <" << myID << "> : X = " << myPnt.X() << " Y = " << myPnt.Y() << " Z = " << myPnt.Z() << endl;
64 //=======================================================================
65 //function : SetPosition
67 //=======================================================================
69 void SMDS_MeshNode::SetPosition(const Handle(SMDS_Position)& aPos)
74 //=======================================================================
75 //function : GetPosition
77 //=======================================================================
79 Handle(SMDS_Position) SMDS_MeshNode::GetPosition() const