X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHUtils%2FSMESH_TypeDefs.hxx;h=711335eac773811498505605366b3597242c5ac9;hp=6b0cdcba8785968fe80500c9cfb6df7b5223d366;hb=4cd2499bddcd3da3ec8900fe825bc98669b789b5;hpb=b998225160f806c6515d51a3aacb9920fb77ad9a diff --git a/src/SMESHUtils/SMESH_TypeDefs.hxx b/src/SMESHUtils/SMESH_TypeDefs.hxx index 6b0cdcba8..711335eac 100644 --- a/src/SMESHUtils/SMESH_TypeDefs.hxx +++ b/src/SMESHUtils/SMESH_TypeDefs.hxx @@ -48,6 +48,9 @@ typedef std::set< const SMDS_MeshNode*, TIDCompare > TIDSortedNodeSet; typedef std::pair< const SMDS_MeshNode*, const SMDS_MeshNode* > NLink; +struct faceQuadStruct; // defined in StdMeshers_Quadrangle_2D.hxx +typedef boost::shared_ptr TFaceQuadStructPtr; + namespace SMESHUtils { @@ -105,13 +108,13 @@ struct SMESH_OrientedLink: public SMESH_TLink struct SMESH_TNodeXYZ : public gp_XYZ { const SMDS_MeshNode* _node; - SMESH_TNodeXYZ( const SMDS_MeshElement* e):gp_XYZ(0,0,0),_node(0) { + double _xyz[3]; + SMESH_TNodeXYZ( const SMDS_MeshElement* e=0):gp_XYZ(0,0,0),_node(0) { if (e) { assert( e->GetType() == SMDSAbs_Node ); _node = static_cast(e); - double xyz[3]; - _node->GetXYZ(xyz); // - thread safe gatting coords - SetCoord( xyz[0], xyz[1], xyz[2] ); + _node->GetXYZ(_xyz); // - thread safe getting coords + SetCoord( _xyz[0], _xyz[1], _xyz[2] ); } } double Distance(const SMDS_MeshNode* n) const { return (SMESH_TNodeXYZ( n )-*this).Modulus(); } @@ -119,6 +122,28 @@ struct SMESH_TNodeXYZ : public gp_XYZ bool operator==(const SMESH_TNodeXYZ& other) const { return _node == other._node; } }; +//-------------------------------------------------- +/*! + * \brief Data of a node generated on FACE boundary + */ +//-------------------------------------------------- +typedef struct uvPtStruct +{ + double param; + double normParam; + double u, v; // original 2d parameter + double x, y; // 2d parameter, normalized [0,1] + const SMDS_MeshNode * node; + + struct NodeAccessor // accessor to iterate on nodes in UVPtStructVec + { + static const SMDS_MeshNode* value(std::vector< uvPtStruct >::const_iterator it) + { return it->node; } + }; +} UVPtStruct; + +typedef std::vector< UVPtStruct > UVPtStructVec; + // -------------------------------------------------------------------------------- // class SMESH_SequenceOfElemPtr #include