#include "SMDS_FaceOfNodes.hxx"
class SMESH_Mesh;
+class SMESH_ElementSearcher;
class SMDS_MeshElement;
class SMDS_MeshNode;
class Handle(TColgp_HArray1OfPnt);
#include <list>
#include <vector>
+/*!
+ * \brief "Transforms" quadrilateral faces into triangular ones by creation of pyramids
+ */
class STDMESHERS_EXPORT StdMeshers_QuadToTriaAdaptor
{
public:
+ StdMeshers_QuadToTriaAdaptor();
~StdMeshers_QuadToTriaAdaptor();
bool Compute(SMESH_Mesh& aMesh);
- const std::list<const SMDS_FaceOfNodes*>* GetTriangles(const SMDS_MeshElement* aFace);
+ const std::list<const SMDS_MeshFace*>* GetTriangles(const SMDS_MeshElement* aFace);
protected:
bool CheckIntersection(const gp_Pnt& P, const gp_Pnt& PC,
gp_Pnt& Pint, SMESH_Mesh& aMesh,
const TopoDS_Shape& aShape,
- const TopoDS_Shape& NotCheckedFace);
+ const SMDS_MeshElement* NotCheckedFace);
bool Compute2ndPart(SMESH_Mesh& aMesh);
- typedef std::list<const SMDS_FaceOfNodes* > TTriaList;
+
+ typedef std::list<const SMDS_MeshFace* > TTriaList;
typedef std::multimap<const SMDS_MeshElement*, TTriaList > TQuad2Trias;
- typedef std::map<const SMDS_MeshElement*, TTriaList *, TIDCompare> TPyram2Trias;
+ //typedef std::map<const SMDS_MeshElement*, TTriaList *, TIDCompare> TPyram2Trias;
TQuad2Trias myResMap;
- TPyram2Trias myPyram2Trias;
+ //TPyram2Trias myPyram2Trias;
+ std::vector<const SMDS_MeshElement*> myPyramids;
std::list< const SMDS_MeshNode* > myDegNodes;
+ const SMESH_ElementSearcher* myElemSearcher;
};
#endif