1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
|
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to
// this header file considered to be the "object code" form of the original source.
#ifndef _LocOpe_CurveShapeIntersector_HeaderFile
#define _LocOpe_CurveShapeIntersector_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>
#include <Standard_Boolean.hxx>
#include <LocOpe_SequenceOfPntFace.hxx>
#include <Standard_Integer.hxx>
#include <Standard_Real.hxx>
#include <TopAbs_Orientation.hxx>
class StdFail_NotDone;
class Standard_OutOfRange;
class gp_Ax1;
class TopoDS_Shape;
class gp_Circ;
class LocOpe_PntFace;
//! This class provides the intersection between an
//! axis or a circle and the faces of a shape. The
//! intersection points are sorted in increasing
//! parameter along the axis.
class LocOpe_CurveShapeIntersector
{
public:
DEFINE_STANDARD_ALLOC
//! Empty constructor.
LocOpe_CurveShapeIntersector();
//! Creates and performs the intersection betwwen
//! <Ax1> and <S>.
LocOpe_CurveShapeIntersector(const gp_Ax1& Axis, const TopoDS_Shape& S);
//! Creates and performs yte intersection betwwen
//! <C> and <S>.
LocOpe_CurveShapeIntersector(const gp_Circ& C, const TopoDS_Shape& S);
//! Performs the intersection between <Ax1 and <S>.
Standard_EXPORT void Init (const gp_Ax1& Axis, const TopoDS_Shape& S) ;
//! Performs the intersection between <Ax1 and <S>.
Standard_EXPORT void Init (const gp_Circ& C, const TopoDS_Shape& S) ;
//! Returns <Standard_True> if the intersection has
//! been done.
Standard_Boolean IsDone() const;
//! Returns the number of intersection point.
Standard_Integer NbPoints() const;
//! Returns the intersection point of range <Index>.
//! The points are sorted in increasing order of
//! parameter along the axis.
const LocOpe_PntFace& Point (const Standard_Integer Index) const;
//! Searches the first intersection point located
//! after the parameter <From>, wich orientation is
//! not TopAbs_EXTERNAL. If found, returns
//! <Standard_True>. <Or> contains the orientation of
//! the point, <IndFrom> and <IndTo> represents the
//! interval of index in the sequence of intersection
//! point corresponding to the point. (IndFrom <=
//! IndTo).
//!
//! Otherwise, returns <Standard_False>.
Standard_EXPORT Standard_Boolean LocalizeAfter (const Standard_Real From, TopAbs_Orientation& Or, Standard_Integer& IndFrom, Standard_Integer& IndTo) const;
//! Searches the first intersection point located
//! before the parameter <From>, wich orientation is
//! not TopAbs_EXTERNAL. If found, returns
//! <Standard_True>. <Or> contains the orientation of
//! the point, <IndFrom> and <IndTo> represents the
//! interval of index in the sequence of intersection
//! point corresponding to the point (IndFrom <=
//! IndTo).
//!
//! Otherwise, returns <Standard_False>.
Standard_EXPORT Standard_Boolean LocalizeBefore (const Standard_Real From, TopAbs_Orientation& Or, Standard_Integer& IndFrom, Standard_Integer& IndTo) const;
//! Searches the first intersection point located
//! after the index <FromInd> ( >= FromInd + 1), wich
//! orientation is not TopAbs_EXTERNAL. If found,
//! returns <Standard_True>. <Or> contains the
//! orientation of the point, <IndFrom> and <IndTo>
//! represents the interval of index in the sequence
//! of intersection point corresponding to the
//! point. (IndFrom <= IndTo).
//!
//! Otherwise, returns <Standard_False>.
Standard_EXPORT Standard_Boolean LocalizeAfter (const Standard_Integer FromInd, TopAbs_Orientation& Or, Standard_Integer& IndFrom, Standard_Integer& IndTo) const;
//! Searches the first intersection point located
//! before the index <FromInd> ( <= FromInd -1), wich
//! orientation is not TopAbs_EXTERNAL. If found,
//! returns <Standard_True>. <Or> contains the
//! orientation of the point, <IndFrom> and <IndTo>
//! represents the interval of index in the sequence
//! of intersection point corresponding to the point
//! (IndFrom <= IndTo).
//!
//! Otherwise, returns <Standard_False>.
Standard_EXPORT Standard_Boolean LocalizeBefore (const Standard_Integer FromInd, TopAbs_Orientation& Or, Standard_Integer& IndFrom, Standard_Integer& IndTo) const;
protected:
private:
Standard_Boolean myDone;
LocOpe_SequenceOfPntFace myPoints;
};
#include <LocOpe_CurveShapeIntersector.lxx>
#endif // _LocOpe_CurveShapeIntersector_HeaderFile
|