Open CASCADE Technology 6.6.0
|
The intersection Context contains geometrical
and topological toolkit (classifiers, projectors, etc).
The intersection Context is for caching the tools
to increase the performance.
#include <BOPInt_Context.hxx>
Public Member Functions | |
BOPInt_Context () | |
virtual | ~BOPInt_Context () |
BOPInt_Context (const BOPCol_BaseAllocator &theAllocator) | |
IntTools_FClass2d & | FClass2d (const TopoDS_Face &aF) |
Returns a reference to point classifier for given face | |
GeomAPI_ProjectPointOnSurf & | ProjPS (const TopoDS_Face &aF) |
Returns a reference to point projector for given face | |
GeomAPI_ProjectPointOnCurve & | ProjPC (const TopoDS_Edge &aE) |
Returns a reference to point projector for given edge | |
GeomAPI_ProjectPointOnCurve & | ProjPT (const Handle< Geom_Curve > &aC) |
Returns a reference to point projector for given curve | |
IntTools_SurfaceRangeLocalizeData & | SurfaceData (const TopoDS_Face &aF) |
Returns a reference to surface localization data for given face | |
BRepClass3d_SolidClassifier & | SolidClassifier (const TopoDS_Solid &aSolid) |
Returns a reference to solid classifier for given solid | |
Geom2dHatch_Hatcher & | Hatcher (const TopoDS_Face &aF) |
Returns a reference to 2D hatcher for given face | |
Standard_Integer | ComputePE (const gp_Pnt &theP, const Standard_Real theTolP, const TopoDS_Edge &theE, Standard_Real &theT) |
Computes parameter of the Point theP on the edge aE. Returns zero if the distance between point and edge is less than sum of tolerance value of edge and theTopP, otherwise and for following conditions returns negative value 1. the edge is degenerated (-1) 2. the edge does not contain 3d curve and pcurves (-2) 3. projection algorithm failed (-3) | |
Standard_Integer | ComputeVE (const TopoDS_Vertex &aV, const TopoDS_Edge &aE, Standard_Real &aT) |
Computes parameter of the vertex aV on the edge aE. Returns zero if the distance between vertex and edge is less than sum of tolerances, otherwise and for following conditions returns negative value 1. the edge is degenerated (-1) 2. the edge does not contain 3d curve and pcurves (-2) 3. projection algorithm failed (-3) Computes parameter aT of the vertex aV on the edge aE. Returns zero if the distance between vertex and edge is less than sum of tolerances, otherwise and for following conditions returns negative value 1. the edge is degenerated (-1) 2. the edge does not contain 3d curve and pcurves (-2) 3. projection algorithm failed (-3) Output parameters bToUpdateVertex - the flag that indicates whether the vertex tolerance should be modified or not aDist - the value of the distance between the vertex and the edge | |
Standard_Integer | ComputeVF (const TopoDS_Vertex &aV, const TopoDS_Face &aF, Standard_Real &U, Standard_Real &V) |
Computes UV parameters of the vertex aV on face aF Returns zero if the distance between vertex and face is less than or equal the sum of tolerances and the projection point lays inside boundaries of the face. For following conditions returns negative value 1. projection algorithm failed (-1) 2. distance is more than sum of tolerances (-2) 3. projection point out or on the boundaries of face (-3) | |
TopAbs_State | StatePointFace (const TopoDS_Face &aF, const gp_Pnt2d &aP2D) |
Returns the state of the point aP2D relative to face aF | |
Standard_Boolean | IsPointInFace (const TopoDS_Face &aF, const gp_Pnt2d &aP2D) |
Returns true if the point aP2D is inside the boundaries of the face aF, otherwise returns false | |
Standard_Boolean | IsPointInOnFace (const TopoDS_Face &aF, const gp_Pnt2d &aP2D) |
Returns true if the point aP2D is inside or on the boundaries of aF | |
Standard_Boolean | IsValidPointForFace (const gp_Pnt &aP3D, const TopoDS_Face &aF, const Standard_Real aTol) |
Returns true if the distance between point aP3D and face aF is less or equal to tolerance aTol and projection point is inside or on the boundaries of the face aF | |
Standard_Boolean | IsValidPointForFaces (const gp_Pnt &aP3D, const TopoDS_Face &aF1, const TopoDS_Face &aF2, const Standard_Real aTol) |
Returns true if IsValidPointForFace returns true for both face aF1 and aF2 | |
Standard_Boolean | IsValidBlockForFace (const Standard_Real aT1, const Standard_Real aT2, const IntTools_Curve &aIC, const TopoDS_Face &aF, const Standard_Real aTol) |
Returns true if IsValidPointForFace returns true for some 3d point that lay on the curve aIC bounded by parameters aT1 and aT2 | |
Standard_Boolean | IsValidBlockForFaces (const Standard_Real aT1, const Standard_Real aT2, const IntTools_Curve &aIC, const TopoDS_Face &aF1, const TopoDS_Face &aF2, const Standard_Real aTol) |
Returns true if IsValidBlockForFace returns true for both faces aF1 and aF2 | |
Standard_Boolean | IsVertexOnLine (const TopoDS_Vertex &aV, const IntTools_Curve &aIC, const Standard_Real aTolC, Standard_Real &aT) |
Computes parameter of the vertex aV on the curve aIC. Returns true if the distance between vertex and curve is less than sum of tolerance of aV and aTolC, otherwise or if projection algorithm failed returns false (in this case aT isn't significant) | |
Standard_Boolean | IsVertexOnLine (const TopoDS_Vertex &aV, const Standard_Real aTolV, const IntTools_Curve &aIC, const Standard_Real aTolC, Standard_Real &aT) |
Computes parameter of the vertex aV on the curve aIC. Returns true if the distance between vertex and curve is less than sum of tolerance of aV and aTolC, otherwise or if projection algorithm failed returns false (in this case aT isn't significant) | |
Standard_Boolean | ProjectPointOnEdge (const gp_Pnt &aP, const TopoDS_Edge &aE, Standard_Real &aT) |
Computes parameter of the point aP on the edge aE. Returns false if projection algorithm failed other wiese returns true. | |
Protected Attributes | |
BOPCol_BaseAllocator | myAllocator |
BOPCol_DataMapOfShapeAddress | myFClass2dMap |
BOPCol_DataMapOfShapeAddress | myProjPSMap |
BOPCol_DataMapOfShapeAddress | myProjPCMap |
BOPCol_DataMapOfShapeAddress | mySClassMap |
BOPCol_DataMapOfTransientAddress | myProjPTMap |
BOPCol_DataMapOfShapeAddress | myHatcherMap |
BOPCol_DataMapOfShapeAddress | myProjSDataMap |
Standard_Integer | myCreateFlag |
BOPInt_Context::BOPInt_Context | ( | ) |
virtual BOPInt_Context::~BOPInt_Context | ( | ) | [virtual] |
BOPInt_Context::BOPInt_Context | ( | const BOPCol_BaseAllocator & | theAllocator | ) |
Standard_Integer BOPInt_Context::ComputePE | ( | const gp_Pnt & | theP, |
const Standard_Real | theTolP, | ||
const TopoDS_Edge & | theE, | ||
Standard_Real & | theT | ||
) |
Standard_Integer BOPInt_Context::ComputeVE | ( | const TopoDS_Vertex & | aV, |
const TopoDS_Edge & | aE, | ||
Standard_Real & | aT | ||
) |
Standard_Integer BOPInt_Context::ComputeVF | ( | const TopoDS_Vertex & | aV, |
const TopoDS_Face & | aF, | ||
Standard_Real & | U, | ||
Standard_Real & | V | ||
) |
IntTools_FClass2d& BOPInt_Context::FClass2d | ( | const TopoDS_Face & | aF | ) |
Geom2dHatch_Hatcher& BOPInt_Context::Hatcher | ( | const TopoDS_Face & | aF | ) |
Standard_Boolean BOPInt_Context::IsPointInFace | ( | const TopoDS_Face & | aF, |
const gp_Pnt2d & | aP2D | ||
) |
Standard_Boolean BOPInt_Context::IsPointInOnFace | ( | const TopoDS_Face & | aF, |
const gp_Pnt2d & | aP2D | ||
) |
Standard_Boolean BOPInt_Context::IsValidBlockForFace | ( | const Standard_Real | aT1, |
const Standard_Real | aT2, | ||
const IntTools_Curve & | aIC, | ||
const TopoDS_Face & | aF, | ||
const Standard_Real | aTol | ||
) |
Standard_Boolean BOPInt_Context::IsValidBlockForFaces | ( | const Standard_Real | aT1, |
const Standard_Real | aT2, | ||
const IntTools_Curve & | aIC, | ||
const TopoDS_Face & | aF1, | ||
const TopoDS_Face & | aF2, | ||
const Standard_Real | aTol | ||
) |
Standard_Boolean BOPInt_Context::IsValidPointForFace | ( | const gp_Pnt & | aP3D, |
const TopoDS_Face & | aF, | ||
const Standard_Real | aTol | ||
) |
Standard_Boolean BOPInt_Context::IsValidPointForFaces | ( | const gp_Pnt & | aP3D, |
const TopoDS_Face & | aF1, | ||
const TopoDS_Face & | aF2, | ||
const Standard_Real | aTol | ||
) |
Standard_Boolean BOPInt_Context::IsVertexOnLine | ( | const TopoDS_Vertex & | aV, |
const Standard_Real | aTolV, | ||
const IntTools_Curve & | aIC, | ||
const Standard_Real | aTolC, | ||
Standard_Real & | aT | ||
) |
Standard_Boolean BOPInt_Context::IsVertexOnLine | ( | const TopoDS_Vertex & | aV, |
const IntTools_Curve & | aIC, | ||
const Standard_Real | aTolC, | ||
Standard_Real & | aT | ||
) |
Standard_Boolean BOPInt_Context::ProjectPointOnEdge | ( | const gp_Pnt & | aP, |
const TopoDS_Edge & | aE, | ||
Standard_Real & | aT | ||
) |
GeomAPI_ProjectPointOnCurve& BOPInt_Context::ProjPC | ( | const TopoDS_Edge & | aE | ) |
GeomAPI_ProjectPointOnSurf& BOPInt_Context::ProjPS | ( | const TopoDS_Face & | aF | ) |
GeomAPI_ProjectPointOnCurve& BOPInt_Context::ProjPT | ( | const Handle< Geom_Curve > & | aC | ) |
BRepClass3d_SolidClassifier& BOPInt_Context::SolidClassifier | ( | const TopoDS_Solid & | aSolid | ) |
TopAbs_State BOPInt_Context::StatePointFace | ( | const TopoDS_Face & | aF, |
const gp_Pnt2d & | aP2D | ||
) |
IntTools_SurfaceRangeLocalizeData& BOPInt_Context::SurfaceData | ( | const TopoDS_Face & | aF | ) |
BOPCol_BaseAllocator BOPInt_Context::myAllocator [protected] |
Standard_Integer BOPInt_Context::myCreateFlag [protected] |