Salome HOME
Merge eap/23491 branch.
[modules/smesh.git] / src / SMESHUtils / SMESH_TypeDefs.hxx
index bd5f41d12f88764bef9c5dd1dea39fdbf3ba4882..dc74b070247dbd56726b7030b4641d3312a4e28e 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -143,13 +143,12 @@ struct SMESH_OrientedLink: public SMESH_TLink
 
 //------------------------------------------
 /*!
- * \brief SMDS_MeshNode -> gp_XYZ convertor
+ * \brief SMDS_MeshNode -> gp_XYZ converter
  */
 //------------------------------------------
 struct SMESH_TNodeXYZ : public gp_XYZ
 {
   const SMDS_MeshNode* _node;
-  double               _xyz[3];
   SMESH_TNodeXYZ( const SMDS_MeshElement* e=0):gp_XYZ(0,0,0),_node(0)
   {
     Set(e);
@@ -159,16 +158,16 @@ struct SMESH_TNodeXYZ : public gp_XYZ
     if (e) {
       assert( e->GetType() == SMDSAbs_Node );
       _node = static_cast<const SMDS_MeshNode*>(e);
-      _node->GetXYZ(_xyz); // - thread safe getting coords
-      SetCoord( _xyz[0], _xyz[1], _xyz[2] );
+      _node->GetXYZ( ChangeData() ); // - thread safe getting coords
       return true;
     }
     return false;
   }
   double Distance(const SMDS_MeshNode* n)       const { return (SMESH_TNodeXYZ( n )-*this).Modulus(); }
   double SquareDistance(const SMDS_MeshNode* n) const { return (SMESH_TNodeXYZ( n )-*this).SquareModulus(); }
-  bool operator==(const SMESH_TNodeXYZ& other) const { return _node == other._node; }
+  bool operator==(const SMESH_TNodeXYZ& other)  const { return _node == other._node; }
 };
+typedef SMESH_TNodeXYZ SMESH_NodeXYZ;
 
 //--------------------------------------------------
 /*!
@@ -186,6 +185,7 @@ typedef struct uvPtStruct
   uvPtStruct(): node(NULL) {}
 
   inline gp_XY UV() const { return gp_XY( u, v ); }
+  inline void  SetUV( const gp_XY& uv ) { u = uv.X(); v = uv.Y(); }
 
   struct NodeAccessor // accessor to iterate on nodes in UVPtStructVec
   {