Go to the documentation of this file.
22 #ifndef _SMESH_CONTROLSDEF_HXX_
23 #define _SMESH_CONTROLSDEF_HXX_
29 #include <boost/shared_ptr.hpp>
32 #include <GeomAPI_ProjectPointOnSurf.hxx>
33 #include <GeomAPI_ProjectPointOnCurve.hxx>
34 #include <TColStd_SequenceOfInteger.hxx>
35 #include <TColStd_MapOfInteger.hxx>
36 #include <TCollection_AsciiString.hxx>
38 #include <TopoDS_Face.hxx>
39 #include <TopTools_MapOfShape.hxx>
40 #include <BRepClass3d_SolidClassifier.hxx>
41 #include <Quantity_Color.hxx>
49 #if defined SMESHCONTROLS_EXPORTS || defined SMESHControls_EXPORTS
50 #define SMESHCONTROLS_EXPORT __declspec( dllexport )
52 #define SMESHCONTROLS_EXPORT __declspec( dllimport )
55 #define SMESHCONTROLS_EXPORT
84 template <
class InputIterator>
130 virtual double GetBadRate(
double Value,
int nbNodes )
const = 0;
153 virtual double GetBadRate(
double Value,
int nbNodes )
const;
165 virtual double GetBadRate(
double Value,
int nbNodes )
const;
177 virtual double GetBadRate(
double Value,
int nbNodes )
const;
189 virtual double GetBadRate(
double Value,
int nbNodes )
const;
201 virtual double GetBadRate(
double Value,
int nbNodes )
const;
205 double ComputeA(
const gp_XYZ&,
const gp_XYZ&,
const gp_XYZ&,
const gp_XYZ& )
const;
216 virtual double GetBadRate(
double Value,
int nbNodes )
const;
228 virtual double GetBadRate(
double Value,
int nbNodes )
const;
240 virtual double GetBadRate(
double Value,
int nbNodes )
const;
252 virtual double GetBadRate(
double Value,
int nbNodes )
const;
268 Value(
double theLength,
long thePntId1,
long thePntId2);
284 virtual double GetBadRate(
double Value,
int nbNodes )
const;
300 Value(
long thePntId1,
long thePntId2);
369 Border(
long theElemId,
long thePntId1,
long thePntId2);
597 TColStd_MapOfInteger& theResFaces );
virtual void SetMesh(const SMDS_Mesh *theMesh)
TColStd_MapOfInteger myIds
virtual SMDSAbs_ElementType GetType() const =0
virtual SMDSAbs_ElementType GetType() const
virtual double GetValue(const TSequenceOfXYZ &thePoints)
boost::shared_ptr< EqualTo > EqualToPtr
void SetIsOnlyManifold(const bool theIsOnly)
SMDSAbs_GeometryType myGeomType
std::vector< long > TIdSequence
virtual void SetMesh(const SMDS_Mesh *theMesh)
virtual SMDSAbs_ElementType GetType() const
void SetTolerance(const double theToler)
BRepClass3d_SolidClassifier myCurSC
boost::shared_ptr< Predicate > PredicatePtr
virtual void SetPredicate(PredicatePtr thePred)
void GetBoreders(TBorders &theBorders)
bool operator<(const Border &x) const
TSequenceOfXYZ & operator=(const TSequenceOfXYZ &theSequenceOfXYZ)
TVectorOfFacePtr myAllFacePtr
void SetAllNodes(bool theAllNodes)
virtual double GetValue(const TSequenceOfXYZ &thePoints)
virtual SMDSAbs_ElementType GetType() const
virtual void SetMesh(const SMDS_Mesh *theMesh)
virtual double GetBadRate(double Value, int nbNodes) const
virtual bool IsSatisfy(long theElementId)
virtual bool IsSatisfy(long theNodeId)
virtual double GetValue(const TSequenceOfXYZ &thePoints)
virtual bool IsSatisfy(long theElementId)
void process(const SMDS_MeshElement *theElem)
GeomAPI_ProjectPointOnCurve myCurProjEdge
void SetType(SMDSAbs_ElementType theType)
boost::shared_ptr< ElementsOnShape > ElementsOnShapePtr
void reserve(size_type n)
void SetStartElem(const long theStartElemId)
virtual SMDSAbs_ElementType GetType() const
virtual SMDSAbs_ElementType GetType() const
boost::shared_ptr< GroupColor > GroupColorPtr
virtual double GetValue(const TSequenceOfXYZ &thePoints)
virtual double GetValue(const TSequenceOfXYZ &thePoints)
boost::shared_ptr< ElemGeomType > ElemGeomTypePtr
void SetSurface(const TopoDS_Shape &theShape, const SMDSAbs_ElementType theType)
virtual double GetBadRate(double Value, int nbNodes) const
void SetType(SMDSAbs_ElementType theType)
virtual void SetMesh(const SMDS_Mesh *theMesh)
boost::shared_ptr< FreeEdges > FreeEdgesPtr
virtual double GetValue(long theElementId)
TColStd_SequenceOfInteger myMin
virtual double GetValue(long theElementId)
virtual bool IsSatisfy(long theElementId)
boost::shared_ptr< LogicalNOT > LogicalNOTPtr
virtual bool IsSatisfy(long theElementId)
#define SMESHCONTROLS_EXPORT
boost::shared_ptr< LinearOrQuadratic > LinearOrQuadraticPtr
void addShape(const TopoDS_Shape &theShape)
void getFacesByLink(const Link &theLink, TVectorOfFacePtr &theFaces) const
virtual double GetValue(long theElementId)
bool AddToRange(long theEntityId)
virtual double GetBadRate(double Value, int nbNodes) const
NumericalFunctorPtr myFunctor
virtual double GetValue(long theElementId)
virtual SMDSAbs_ElementType GetType() const
virtual bool IsSatisfy(long theElementId)
TDataMapFacePtrInt myAllFacePtrIntDMap
void GetValues(TValues &theValues)
virtual double GetValue(const TSequenceOfXYZ &thePoints)
void SetColorStr(const TCollection_AsciiString &)
void SetUseBoundaries(bool theUse)
gp_XYZ & operator()(size_type n)
std::vector< gp_XYZ > myArray
boost::shared_ptr< LogicalBinary > LogicalBinaryPtr
bool operator<(const ManifoldPart::Link &x) const
virtual double GetBadRate(double Value, int nbNodes) const
void process(const SMDS_MeshElement *theElem)
virtual SMDSAbs_ElementType GetType() const
virtual SMDSAbs_ElementType GetType() const
void SetShape(const TopoDS_Shape &theShape, const SMDSAbs_ElementType theType)
virtual bool IsSatisfy(long theElementId)
virtual double GetBadRate(double Value, int nbNodes) const
virtual SMDSAbs_ElementType GetType() const
SMDSAbs_ElementType myType
double GetAngleTolerance() const
void SetGeomType(SMDSAbs_GeometryType theType)
double GetTolerance() const
std::map< ManifoldPart::Link, SMDS_MeshFace * > TDataMapOfLinkFacePtr
virtual void SetTolerance(double theTol)
const gp_XYZ & operator()(size_type n) const
static bool GetPoints(const SMDS_MeshElement *theElem, TSequenceOfXYZ &theRes)
boost::shared_ptr< RangeOfIds > RangeOfIdsPtr
SMDSAbs_ElementType myType
virtual void SetMesh(const SMDS_Mesh *theMesh)
bool GetUseBoundaries() const
virtual double GetValue(const TSequenceOfXYZ &thePoints)
std::set< ManifoldPart::Link > TMapOfLink
virtual void SetPredicate2(PredicatePtr thePred)
TColStd_MapOfInteger myMapIds
SMDSAbs_ElementType myType
virtual double GetBadRate(double Value, int nbNodes) const
GeomAPI_ProjectPointOnSurf myCurProjFace
virtual SMDSAbs_ElementType GetType() const
std::map< SMDS_MeshFace *, int > TDataMapFacePtrInt
virtual SMDSAbs_ElementType GetType() const
void SetPrecision(const long thePrecision)
PredicatePtr myPredicate2
TSequenceOfXYZ(size_type n, const gp_XYZ &t)
virtual bool IsSatisfy(long theElementId)
const SMDS_MeshElement * myCurrElement
virtual double GetValue(const TSequenceOfXYZ &thePoints)
virtual SMDSAbs_ElementType GetType() const
boost::shared_ptr< ManifoldPart > ManifoldPartPtr
std::vector< gp_XYZ >::size_type size_type
void GetColorStr(TCollection_AsciiString &) const
virtual bool IsSatisfy(long theElementId)
virtual SMDSAbs_ElementType GetType() const
virtual double GetValue(long theElementId)
virtual SMDSAbs_ElementType GetType() const
virtual bool IsSatisfy(long theElementId)
virtual double GetBadRate(double Value, int nbNodes) const
void GetRangeStr(TCollection_AsciiString &)
boost::shared_ptr< Comparator > ComparatorPtr
virtual void SetMesh(const SMDS_Mesh *theMesh)
Border(long theElemId, long thePntId1, long thePntId2)
virtual void SetMesh(const SMDS_Mesh *theMesh)
virtual void SetMesh(const SMDS_Mesh *theMesh)
bool GetPoints(const int theId, TSequenceOfXYZ &theRes) const
virtual bool IsSatisfy(long theElementId)
void expandBoundary(TMapOfLink &theMapOfBoundary, TVectorOfLink &theSeqOfBoundary, TDataMapOfLinkFacePtr &theDMapLinkFacePtr, TMapOfLink &theNonManifold, SMDS_MeshFace *theNextFace) const
void GetValues(MValues &theValues)
virtual void SetMesh(const SMDS_Mesh *theMesh)
bool findConnected(const TDataMapFacePtrInt &theAllFacePtrInt, SMDS_MeshFace *theStartFace, TMapOfLink &theNonManifold, TColStd_MapOfInteger &theResFaces)
std::map< Value, int > MValues
TColStd_MapOfInteger myIds
virtual void SetMargin(double theValue)
virtual bool IsSatisfy(long theElementId)
TSequenceOfXYZ(const TSequenceOfXYZ &theSequenceOfXYZ)
virtual double GetValue(const TSequenceOfXYZ &thePoints)
virtual SMDSAbs_ElementType GetType() const
bool operator<(const Value &x) const
virtual SMDSAbs_ElementType GetType() const
virtual SMDSAbs_ElementType GetType() const
std::vector< SMDS_MeshFace * > TVectorOfFacePtr
TSequenceOfXYZ(size_type n)
bool isOnSurface(const SMDS_MeshNode *theNode)
boost::shared_ptr< MultiConnection2D > MultiConnection2DPtr
virtual SMDSAbs_ElementType GetType() const
virtual double GetBadRate(double Value, int nbNodes) const =0
virtual bool IsSatisfy(long theElementId)
void SetAngleTolerance(const double theAngToler)
virtual SMDSAbs_ElementType GetType() const
TopAbs_ShapeEnum myCurShapeType
virtual SMDSAbs_ElementType GetType() const
void SetType(SMDSAbs_ElementType theType)
virtual void SetMesh(const SMDS_Mesh *theMesh)
virtual bool IsSatisfy(long theNodeId)
virtual double GetBadRate(double Value, int nbNodes) const
TopTools_MapOfShape myShapesMap
boost::shared_ptr< ElementsOnSurface > ElementsOnSurfacePtr
virtual void SetMesh(const SMDS_Mesh *theMesh)
virtual void SetMesh(const SMDS_Mesh *theMesh)=0
virtual bool IsSatisfy(long theElementId)=0
virtual void SetMesh(const SMDS_Mesh *theMesh)
virtual void SetMesh(const SMDS_Mesh *theMesh)
virtual SMDSAbs_ElementType GetType() const
SMDSAbs_ElementType myType
TColStd_SequenceOfInteger myMax
virtual void SetMesh(const SMDS_Mesh *theMesh)
virtual bool IsSatisfy(long theElementId)
virtual void GetElementsId(const SMDS_Mesh *theMesh, TIdSequence &theSequence)
SMDSAbs_ElementType
Type (node, edge, face or volume) of elements.
Value(double theLength, long thePntId1, long thePntId2)
virtual double GetValue(const TSequenceOfXYZ &thePoints)
bool operator<(const Value &x) const
TColStd_MapOfInteger myMapBadGeomIds
virtual bool IsSatisfy(long theElementId)
TSequenceOfXYZ(InputIterator theBegin, InputIterator theEnd)
virtual SMDSAbs_ElementType GetType() const
virtual void SetPredicate1(PredicatePtr thePred)
bool isInPlane(const SMDS_MeshFace *theFace1, const SMDS_MeshFace *theFace2)
SMDSAbs_ElementType myType
virtual SMDSAbs_ElementType GetType() const
std::set< Value > TValues
PredicatePtr myPredicate1
bool IsEqual(const ManifoldPart::Link &theLink) const
Link(SMDS_MeshNode *theNode1, SMDS_MeshNode *theNode2)
virtual void SetType(SMDSAbs_ElementType theType)
boost::shared_ptr< NumericalFunctor > NumericalFunctorPtr
virtual double GetTolerance()
bool IsEqual(const ManifoldPart::Link &theLink1, const ManifoldPart::Link &theLink2)
virtual double GetBadRate(double Value, int nbNodes) const
void push_back(const gp_XYZ &v)
double ComputeA(const gp_XYZ &, const gp_XYZ &, const gp_XYZ &, const gp_XYZ &) const
double GetTolerance() const
long GetPrecision() const
Value(long thePntId1, long thePntId2)
void SetTolerance(const double theToler)
virtual void SetPredicate(PredicatePtr thePred)
GeomAPI_ProjectPointOnSurf myProjector
boost::shared_ptr< Length2D > Length2DPtr
virtual void SetMesh(const SMDS_Mesh *theMesh)
virtual SMDSAbs_ElementType GetType() const
virtual SMDSAbs_ElementType GetType() const =0
virtual bool IsSatisfy(long theElementId)=0
virtual SMDSAbs_ElementType GetType() const =0
virtual bool IsSatisfy(long theElementId)
virtual double GetValue(const TSequenceOfXYZ &thePoints)
virtual double GetBadRate(double Value, int nbNodes) const
std::set< Border > TBorders
virtual SMDSAbs_ElementType GetType() const
TColStd_MapOfInteger myIds
virtual bool IsSatisfy(long theElementId)
std::vector< ManifoldPart::Link > TVectorOfLink
static void GetElementsId(const SMDS_Mesh *theMesh, PredicatePtr thePredicate, TIdSequence &theSequence)
virtual SMDSAbs_GeometryType GetGeomType() const
SMDSAbs_ElementType myType
virtual double GetBadRate(double Value, int nbNodes) const
bool SetRangeStr(const TCollection_AsciiString &)
virtual SMDSAbs_ElementType GetType() const
virtual void SetNumFunctor(NumericalFunctorPtr theFunct)
virtual void SetMesh(const SMDS_Mesh *theMesh)
static bool IsFreeEdge(const SMDS_MeshNode **theNodes, const int theFaceId)
virtual SMDSAbs_ElementType GetType() const
virtual double GetBadRate(double Value, int nbNodes) const