mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-25 17:00:34 +05:00
0020682: EDF 1222 SMESH: 3D mesh from a skin mesh and with volumic cells
* Redesign in order to bind two pyramids to one base quadrangle. * Check presence of 3D elements sharing the base quadrangle.
This commit is contained in:
parent
2536cb0c1b
commit
2169f74278
File diff suppressed because it is too large
Load Diff
@ -26,11 +26,18 @@
|
|||||||
#ifndef _SMESH_QuadToTriaAdaptor_HXX_
|
#ifndef _SMESH_QuadToTriaAdaptor_HXX_
|
||||||
#define _SMESH_QuadToTriaAdaptor_HXX_
|
#define _SMESH_QuadToTriaAdaptor_HXX_
|
||||||
|
|
||||||
#include <SMESH_Mesh.hxx>
|
|
||||||
#include "SMESH_StdMeshers.hxx"
|
#include "SMESH_StdMeshers.hxx"
|
||||||
#include <SMDS_FaceOfNodes.hxx>
|
#include "SMDS_FaceOfNodes.hxx"
|
||||||
#include <TColgp_HArray1OfPnt.hxx>
|
|
||||||
#include <TColgp_HArray1OfVec.hxx>
|
class SMESH_Mesh;
|
||||||
|
class SMDS_MeshElement;
|
||||||
|
class SMDS_MeshNode;
|
||||||
|
class Handle(TColgp_HArray1OfPnt);
|
||||||
|
class Handle(TColgp_HArray1OfVec);
|
||||||
|
class TopoDS_Shape;
|
||||||
|
class gp_Pnt;
|
||||||
|
class gp_Vec;
|
||||||
|
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <list>
|
#include <list>
|
||||||
@ -40,8 +47,6 @@ class STDMESHERS_EXPORT StdMeshers_QuadToTriaAdaptor
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
StdMeshers_QuadToTriaAdaptor();
|
|
||||||
|
|
||||||
~StdMeshers_QuadToTriaAdaptor();
|
~StdMeshers_QuadToTriaAdaptor();
|
||||||
|
|
||||||
bool Compute(SMESH_Mesh& aMesh, const TopoDS_Shape& aShape);
|
bool Compute(SMESH_Mesh& aMesh, const TopoDS_Shape& aShape);
|
||||||
@ -58,7 +63,8 @@ protected:
|
|||||||
Handle(TColgp_HArray1OfPnt)& PN,
|
Handle(TColgp_HArray1OfPnt)& PN,
|
||||||
Handle(TColgp_HArray1OfVec)& VN,
|
Handle(TColgp_HArray1OfVec)& VN,
|
||||||
std::vector<const SMDS_MeshNode*>& FNodes,
|
std::vector<const SMDS_MeshNode*>& FNodes,
|
||||||
gp_Pnt& PC, gp_Vec& VNorm);
|
gp_Pnt& PC, gp_Vec& VNorm,
|
||||||
|
const SMDS_MeshElement** volumes=0);
|
||||||
|
|
||||||
bool CheckIntersection(const gp_Pnt& P, const gp_Pnt& PC,
|
bool CheckIntersection(const gp_Pnt& P, const gp_Pnt& PC,
|
||||||
gp_Pnt& Pint, SMESH_Mesh& aMesh,
|
gp_Pnt& Pint, SMESH_Mesh& aMesh,
|
||||||
@ -67,10 +73,13 @@ protected:
|
|||||||
|
|
||||||
bool Compute2ndPart(SMESH_Mesh& aMesh);
|
bool Compute2ndPart(SMESH_Mesh& aMesh);
|
||||||
|
|
||||||
typedef std::map< const SMDS_MeshElement*, const SMDS_MeshElement*, TIDCompare > TF2PyramMap;
|
typedef std::list<const SMDS_FaceOfNodes* > TTriaList;
|
||||||
|
typedef std::multimap<const SMDS_MeshElement*, TTriaList > TQuad2Trias;
|
||||||
|
typedef std::map<const SMDS_MeshElement*, TTriaList *, TIDCompare> TPyram2Trias;
|
||||||
|
|
||||||
|
TQuad2Trias myResMap;
|
||||||
|
TPyram2Trias myPyram2Trias;
|
||||||
|
|
||||||
std::map< const SMDS_MeshElement*, std::list<const SMDS_FaceOfNodes*> > myResMap;
|
|
||||||
TF2PyramMap myMapFPyram;
|
|
||||||
std::list< const SMDS_MeshNode* > myDegNodes;
|
std::list< const SMDS_MeshNode* > myDegNodes;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user