Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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.
More...

#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

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

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

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

More...
 
IntTools_SurfaceRangeLocalizeDataSurfaceData (const TopoDS_Face &aF)
 Returns a reference to surface localization data
for given face
More...
 
BRepClass3d_SolidClassifierSolidClassifier (const TopoDS_Solid &aSolid)
 Returns a reference to solid classifier
for given solid

More...
 
Geom2dHatch_HatcherHatcher (const TopoDS_Face &aF)
 Returns a reference to 2D hatcher
for given face

More...
 
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
More...
 
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
More...
 
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
More...
 
TopAbs_State StatePointFace (const TopoDS_Face &aF, const gp_Pnt2d &aP2D)
 Returns the state of the point aP2D
relative to face aF

More...
 
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

More...
 
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

More...
 
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

More...
 
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

More...
 
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

More...
 
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

More...
 
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)

More...
 
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)

More...
 
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.

More...
 
- Public Member Functions inherited from MMgt_TShared
virtual void Delete () const
 Memory deallocator for transient classes. More...
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor. More...
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing. More...
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter. More...
 
virtual ~Standard_Transient ()
 Destructor must be virtual. More...
 
virtual void ShallowDump (Standard_OStream &) const
 
virtual const
Handle_Standard_Type & 
DynamicType () const
 Returns a type information object about this object. More...
 
Standard_Boolean IsInstance (const Handle_Standard_Type &theType) const
 Returns a true value if this is an instance of Type. More...
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName. More...
 
Standard_Boolean IsKind (const Handle_Standard_Type &theType) const
 Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
 
Standard_Boolean IsKind (const Standard_CString theTypeName) const
 Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
 
virtual Handle_Standard_Transient This () const
 Returns a Handle which references this object. Must never be called to objects created in stack. More...
 
Standard_Integer GetRefCount () const
 Get the reference counter of this object. More...
 

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
 

Detailed Description

The intersection Context contains geometrical
and topological toolkit (classifiers, projectors, etc).
The intersection Context is for caching the tools
to increase the performance.

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 
)

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 BOPInt_Context::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 BOPInt_Context::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)

IntTools_FClass2d& BOPInt_Context::FClass2d ( const TopoDS_Face aF)

Returns a reference to point classifier
for given face

Geom2dHatch_Hatcher& BOPInt_Context::Hatcher ( const TopoDS_Face aF)

Returns a reference to 2D hatcher
for given face

Standard_Boolean BOPInt_Context::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 BOPInt_Context::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 BOPInt_Context::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 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 
)

Returns true if IsValidBlockForFace returns true
for both faces aF1 and aF2

Standard_Boolean BOPInt_Context::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 BOPInt_Context::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 BOPInt_Context::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 BOPInt_Context::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 BOPInt_Context::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.

GeomAPI_ProjectPointOnCurve& BOPInt_Context::ProjPC ( const TopoDS_Edge aE)

Returns a reference to point projector
for given edge

GeomAPI_ProjectPointOnSurf& BOPInt_Context::ProjPS ( const TopoDS_Face aF)

Returns a reference to point projector
for given face

GeomAPI_ProjectPointOnCurve& BOPInt_Context::ProjPT ( const Handle< Geom_Curve > &  aC)

Returns a reference to point projector
for given curve

BRepClass3d_SolidClassifier& BOPInt_Context::SolidClassifier ( const TopoDS_Solid aSolid)

Returns a reference to solid classifier
for given solid

TopAbs_State BOPInt_Context::StatePointFace ( const TopoDS_Face aF,
const gp_Pnt2d aP2D 
)

Returns the state of the point aP2D
relative to face aF

IntTools_SurfaceRangeLocalizeData& BOPInt_Context::SurfaceData ( const TopoDS_Face aF)

Returns a reference to surface localization data
for given face

Field Documentation

BOPCol_BaseAllocator BOPInt_Context::myAllocator
protected
Standard_Integer BOPInt_Context::myCreateFlag
protected
BOPCol_DataMapOfShapeAddress BOPInt_Context::myFClass2dMap
protected
BOPCol_DataMapOfShapeAddress BOPInt_Context::myHatcherMap
protected
BOPCol_DataMapOfShapeAddress BOPInt_Context::myProjPCMap
protected
BOPCol_DataMapOfShapeAddress BOPInt_Context::myProjPSMap
protected
BOPCol_DataMapOfTransientAddress BOPInt_Context::myProjPTMap
protected
BOPCol_DataMapOfShapeAddress BOPInt_Context::myProjSDataMap
protected
BOPCol_DataMapOfShapeAddress BOPInt_Context::mySClassMap
protected

The documentation for this class was generated from the following file: