Open CASCADE Technology 6.6.0
Public Member Functions | Protected Attributes
BOPInt_Context Class Reference

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>

Inheritance diagram for BOPInt_Context:
Inheritance graph
[legend]

Public Member Functions

 BOPInt_Context ()
virtual ~BOPInt_Context ()
 BOPInt_Context (const BOPCol_BaseAllocator &theAllocator)
IntTools_FClass2dFClass2d (const TopoDS_Face &aF)
 Returns a reference to point classifier
for given face


GeomAPI_ProjectPointOnSurfProjPS (const TopoDS_Face &aF)
 Returns a reference to point projector
for given face


GeomAPI_ProjectPointOnCurveProjPC (const TopoDS_Edge &aE)
 Returns a reference to point projector
for given edge


GeomAPI_ProjectPointOnCurveProjPT (const Handle< Geom_Curve > &aC)
 Returns a reference to point projector
for given curve


IntTools_SurfaceRangeLocalizeDataSurfaceData (const TopoDS_Face &aF)
 Returns a reference to surface localization data
for given face

BRepClass3d_SolidClassifierSolidClassifier (const TopoDS_Solid &aSolid)
 Returns a reference to solid classifier
for given solid


Geom2dHatch_HatcherHatcher (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

Constructor & Destructor Documentation

BOPInt_Context::BOPInt_Context ( )
virtual BOPInt_Context::~BOPInt_Context ( ) [virtual]
BOPInt_Context::BOPInt_Context ( const BOPCol_BaseAllocator theAllocator)

Member Function Documentation

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)

Field Documentation


The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines