1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-14 13:30:48 +03:00

0026595: Lost some comments in OCCT-code after cdl elimination

Recovered comments for instance classes from CDL generic classes.
This commit is contained in:
rkv
2015-10-14 17:48:41 +03:00
committed by bugmaster
parent 10dbdf3496
commit 36b9ff756a
251 changed files with 8209 additions and 0 deletions

View File

@@ -53,32 +53,46 @@ public:
DEFINE_STANDARD_ALLOC
//! Empty constructor.
Geom2dInt_GInter();
//! Self Intersection of a curve
Geom2dInt_GInter(const Adaptor2d_Curve2d& C, const Standard_Real TolConf, const Standard_Real Tol);
//! Self Intersection of a curve with a domain.
Geom2dInt_GInter(const Adaptor2d_Curve2d& C, const IntRes2d_Domain& D, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between 2 curves.
Geom2dInt_GInter(const Adaptor2d_Curve2d& C1, const Adaptor2d_Curve2d& C2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between 2 curves.
Geom2dInt_GInter(const Adaptor2d_Curve2d& C1, const IntRes2d_Domain& D1, const Adaptor2d_Curve2d& C2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between 2 curves.
Geom2dInt_GInter(const Adaptor2d_Curve2d& C1, const Adaptor2d_Curve2d& C2, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between 2 curves.
Geom2dInt_GInter(const Adaptor2d_Curve2d& C1, const IntRes2d_Domain& D1, const Adaptor2d_Curve2d& C2, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between 2 curves.
Standard_EXPORT void Perform (const Adaptor2d_Curve2d& C1, const IntRes2d_Domain& D1, const Adaptor2d_Curve2d& C2, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between 2 curves.
void Perform (const Adaptor2d_Curve2d& C1, const Adaptor2d_Curve2d& C2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between 2 curves.
Standard_EXPORT void Perform (const Adaptor2d_Curve2d& C1, const IntRes2d_Domain& D1, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between 2 curves.
Standard_EXPORT void Perform (const Adaptor2d_Curve2d& C1, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between 2 curves.
void Perform (const Adaptor2d_Curve2d& C1, const IntRes2d_Domain& D1, const Adaptor2d_Curve2d& C2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between 2 curves.
void Perform (const Adaptor2d_Curve2d& C1, const Adaptor2d_Curve2d& C2, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
//! Create a domain from a curve
Standard_EXPORT IntRes2d_Domain ComputeDomain (const Adaptor2d_Curve2d& C1, const Standard_Real TolDomain) const;
@@ -93,10 +107,13 @@ protected:
private:
//! Intersection between 2 curves.
Standard_EXPORT void InternalPerform (const Adaptor2d_Curve2d& C1, const IntRes2d_Domain& D1, const Adaptor2d_Curve2d& C2, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol, const Standard_Boolean Composite);
//! Part of InternalCompositePerform function
Standard_EXPORT void InternalCompositePerform_noRecurs (const Standard_Integer NbInterC1, const Adaptor2d_Curve2d& C1, const Standard_Integer NumInterC1, const TColStd_Array1OfReal& Tab1, const IntRes2d_Domain& D1, const Standard_Integer NbInterC2, const Adaptor2d_Curve2d& C2, const Standard_Integer NumInterC2, const TColStd_Array1OfReal& Tab2, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between 2 curves.
Standard_EXPORT void InternalCompositePerform (const Adaptor2d_Curve2d& C1, const IntRes2d_Domain& D1, const Standard_Integer N1, const Standard_Integer NB1, const TColStd_Array1OfReal& Tab1, const Adaptor2d_Curve2d& C2, const IntRes2d_Domain& D2, const Standard_Integer N2, const Standard_Integer NB2, const TColStd_Array1OfReal& Tab2, const Standard_Real TolConf, const Standard_Real Tol, const Standard_Boolean Composite);

View File

@@ -47,26 +47,39 @@ public:
DEFINE_STANDARD_ALLOC
//! Empty constructor.
Standard_EXPORT Geom2dInt_IntConicCurveOfGInter();
//! Intersection between a line and a parametric curve.
Standard_EXPORT Geom2dInt_IntConicCurveOfGInter(const gp_Lin2d& L, const IntRes2d_Domain& D1, const Adaptor2d_Curve2d& PCurve, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between a line and a parametric curve.
Standard_EXPORT Geom2dInt_IntConicCurveOfGInter(const gp_Circ2d& C, const IntRes2d_Domain& D1, const Adaptor2d_Curve2d& PCurve, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between an ellipse and a parametric curve.
Standard_EXPORT Geom2dInt_IntConicCurveOfGInter(const gp_Elips2d& E, const IntRes2d_Domain& D1, const Adaptor2d_Curve2d& PCurve, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between a parabola and a parametric curve.
Standard_EXPORT Geom2dInt_IntConicCurveOfGInter(const gp_Parab2d& Prb, const IntRes2d_Domain& D1, const Adaptor2d_Curve2d& PCurve, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between the main branch of an hyperbola
//! and a parametric curve.
Standard_EXPORT Geom2dInt_IntConicCurveOfGInter(const gp_Hypr2d& H, const IntRes2d_Domain& D1, const Adaptor2d_Curve2d& PCurve, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between a line and a parametric curve.
Standard_EXPORT void Perform (const gp_Lin2d& L, const IntRes2d_Domain& D1, const Adaptor2d_Curve2d& PCurve, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between a line and a parametric curve.
Standard_EXPORT void Perform (const gp_Circ2d& C, const IntRes2d_Domain& D1, const Adaptor2d_Curve2d& PCurve, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between an ellipse and a parametric curve.
Standard_EXPORT void Perform (const gp_Elips2d& E, const IntRes2d_Domain& D1, const Adaptor2d_Curve2d& PCurve, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between a parabola and a parametric curve.
Standard_EXPORT void Perform (const gp_Parab2d& Prb, const IntRes2d_Domain& D1, const Adaptor2d_Curve2d& PCurve, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between the main branch of an hyperbola
//! and a parametric curve.
Standard_EXPORT void Perform (const gp_Hypr2d& H, const IntRes2d_Domain& D1, const Adaptor2d_Curve2d& PCurve, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);

View File

@@ -39,12 +39,19 @@ public:
DEFINE_STANDARD_ALLOC
//! Constructor of the class.
Standard_EXPORT Geom2dInt_MyImpParToolOfTheIntersectorOfTheIntConicCurveOfGInter(const IntCurve_IConicTool& IT, const Adaptor2d_Curve2d& PC);
//! Computes the value of the signed distance between
//! the implicit curve and the point at parameter Param
//! on the parametrised curve.
Standard_EXPORT Standard_Boolean Value (const Standard_Real Param, Standard_Real& F) Standard_OVERRIDE;
//! Computes the derivative of the previous function at
//! parameter Param.
Standard_EXPORT Standard_Boolean Derivative (const Standard_Real Param, Standard_Real& D) Standard_OVERRIDE;
//! Computes the value and the derivative of the function.
Standard_EXPORT Standard_Boolean Values (const Standard_Real Param, Standard_Real& F, Standard_Real& D) Standard_OVERRIDE;

View File

@@ -53,28 +53,41 @@ public:
Standard_EXPORT Geom2dInt_PCLocFOfTheLocateExtPCOfTheProjPCurOfGInter(const gp_Pnt2d& P, const Adaptor2d_Curve2d& C);
//! sets the field mycurve of the function.
Standard_EXPORT void Initialize (const Adaptor2d_Curve2d& C);
//! sets the field P of the function.
Standard_EXPORT void SetPoint (const gp_Pnt2d& P);
//! Calculation of F(U).
Standard_EXPORT Standard_Boolean Value (const Standard_Real U, Standard_Real& F);
//! Calculation of F'(U).
Standard_EXPORT Standard_Boolean Derivative (const Standard_Real U, Standard_Real& DF);
//! Calculation of F(U) and F'(U).
Standard_EXPORT Standard_Boolean Values (const Standard_Real U, Standard_Real& F, Standard_Real& DF);
//! Save the found extremum.
Standard_EXPORT virtual Standard_Integer GetStateNumber() Standard_OVERRIDE;
//! Return the nunber of found extrema.
Standard_EXPORT Standard_Integer NbExt() const;
//! Returns the Nth distance.
Standard_EXPORT Standard_Real SquareDistance (const Standard_Integer N) const;
//! Shows if the Nth distance is a minimum.
Standard_EXPORT Standard_Boolean IsMin (const Standard_Integer N) const;
//! Returns the Nth extremum.
Standard_EXPORT const Extrema_POnCurv2d& Point (const Standard_Integer N) const;
//! Determines boundaries of subinterval for find of root.
Standard_EXPORT void SubIntervalInitialize (const Standard_Real theUfirst, const Standard_Real theUlast);
//! Computes a Tol value. If 1st derivative of curve
//! |D1|<Tol, it is considered D1=0.
Standard_EXPORT Standard_Real SearchOfTolerance();

View File

@@ -37,60 +37,209 @@ public:
DEFINE_STANDARD_ALLOC
//! Constructs an empty sequence.
//! Use:
//! - the function Append or Prepend to add an item or
//! a collection of items at the end, or at the beginning of the sequence,
//! - the function InsertAfter or InsertBefore to add an
//! item or a collection of items at any position in the sequence,
//! - operator() or the function SetValue to assign a
//! new value to an item of the sequence,
//! - operator() to read an item of the sequence,
//! - the function Remove to remove an item at any
//! position in the sequence.
//! Warning
//! To copy a sequence, you must explicitly call the
//! assignment operator (operator=).
Geom2dInt_SeqPCOfPCLocFOfTheLocateExtPCOfTheProjPCurOfGInter();
//! Creation by copy of existing Sequence.
Standard_EXPORT Geom2dInt_SeqPCOfPCLocFOfTheLocateExtPCOfTheProjPCurOfGInter(const Geom2dInt_SeqPCOfPCLocFOfTheLocateExtPCOfTheProjPCurOfGInter& Other);
//! Removes all element(s) of the sequence <me>
//! Example:
//! before
//! me = (A B C)
//! after
//! me = ()
Standard_EXPORT void Clear();
~Geom2dInt_SeqPCOfPCLocFOfTheLocateExtPCOfTheProjPCurOfGInter()
{
Clear();
}
//! Copies the contents of the sequence Other into this sequence.
//! If this sequence is not empty, it is automatically cleared before the copy.
Standard_EXPORT const Geom2dInt_SeqPCOfPCLocFOfTheLocateExtPCOfTheProjPCurOfGInter& Assign (const Geom2dInt_SeqPCOfPCLocFOfTheLocateExtPCOfTheProjPCurOfGInter& Other);
const Geom2dInt_SeqPCOfPCLocFOfTheLocateExtPCOfTheProjPCurOfGInter& operator = (const Geom2dInt_SeqPCOfPCLocFOfTheLocateExtPCOfTheProjPCurOfGInter& Other)
{
return Assign(Other);
}
//! Appends <T> at the end of <me>.
//! Example:
//! before
//! me = (A B C)
//! after
//! me = (A B C T)
Standard_EXPORT void Append (const Extrema_POnCurv2d& T);
//! Concatenates <S> at the end of <me>.
//! <S> is cleared.
//! Example:
//! before
//! me = (A B C)
//! S = (D E F)
//! after
//! me = (A B C D E F)
//! S = ()
void Append (Geom2dInt_SeqPCOfPCLocFOfTheLocateExtPCOfTheProjPCurOfGInter& S);
//! Add <T> at the beginning of <me>.
//! Example:
//! before
//! me = (A B C)
//! after
//! me = (T A B C )
Standard_EXPORT void Prepend (const Extrema_POnCurv2d& T);
//! Concatenates <S> at the beginning of <me>.
//! <S> is cleared.
//! Example:
//! before
//! me = (A B C) S = (D E F)
//! after me = (D E F A B C)
//! S = ()
void Prepend (Geom2dInt_SeqPCOfPCLocFOfTheLocateExtPCOfTheProjPCurOfGInter& S);
//! Inserts <T> in <me> before the position <Index>.
//! Raises an exception if the index is out of bounds.
//! Example:
//! before
//! me = (A B D), Index = 3, T = C
//! after
//! me = (A B C D )
void InsertBefore (const Standard_Integer Index, const Extrema_POnCurv2d& T);
//! Inserts the sequence <S> in <me> before
//! the position <Index>. <S> is cleared.
//! Raises an exception if the index is out of bounds
//! Example:
//! before
//! me = (A B F), Index = 3, S = (C D E)
//! after
//! me = (A B C D E F)
//! S = ()
void InsertBefore (const Standard_Integer Index, Geom2dInt_SeqPCOfPCLocFOfTheLocateExtPCOfTheProjPCurOfGInter& S);
//! Inserts <T> in <me> after the position <Index>.
//! Raises an exception if the index is out of bound
//! Example:
//! before
//! me = (A B C), Index = 3, T = D
//! after
//! me = (A B C D)
Standard_EXPORT void InsertAfter (const Standard_Integer Index, const Extrema_POnCurv2d& T);
//! Inserts the sequence <S> in <me> after the
//! position <Index>. <S> is cleared.
//! Raises an exception if the index is out of bound.
//! Example:
//! before
//! me = (A B C), Index = 3, S = (D E F)
//! after
//! me = (A B C D E F)
//! S = ()
void InsertAfter (const Standard_Integer Index, Geom2dInt_SeqPCOfPCLocFOfTheLocateExtPCOfTheProjPCurOfGInter& S);
//! Returns the first element of the sequence <me>
//! Raises an exception if the sequence is empty.
//! Example:
//! before
//! me = (A B C)
//! after
//! me = (A B C)
//! returns A
Standard_EXPORT const Extrema_POnCurv2d& First() const;
//! Returns the last element of the sequence <me>
//! Raises an exception if the sequence is empty.
//! Example:
//! before
//! me = (A B C)
//! after
//! me = (A B C)
//! returns C
Standard_EXPORT const Extrema_POnCurv2d& Last() const;
//! Keeps in <me> the items 1 to <Index>-1 and
//! puts in <Sub> the items <Index> to the end.
//! Example:
//! before
//! me = (A B C D) ,Index = 3
//! after
//! me = (A B)
//! Sub = (C D)
void Split (const Standard_Integer Index, Geom2dInt_SeqPCOfPCLocFOfTheLocateExtPCOfTheProjPCurOfGInter& Sub);
//! Returns the Item at position <Index> in <me>.
//! Raises an exception if the index is out of bound
//! Example:
//! before
//! me = (A B C), Index = 1
//! after
//! me = (A B C)
//! returns
//! A
Standard_EXPORT const Extrema_POnCurv2d& Value (const Standard_Integer Index) const;
const Extrema_POnCurv2d& operator() (const Standard_Integer Index) const
{
return Value(Index);
}
//! Changes the item at position <Index>
//! Raises an exception if the index is out of bound
//! Example:
//! before
//! me = (A B C), Index = 1, Item = D
//! after
//! me = (D B C)
Standard_EXPORT void SetValue (const Standard_Integer Index, const Extrema_POnCurv2d& I);
//! Returns the Item at position <Index> in
//! <me>. This method may be used to modify
//! <me> : S.Value(Index) = Item.
//! Raises an exception if the index is out of bound
//! Example:
//! before
//! me = (A B C), Index = 1
//! after
//! me = (A B C)
//! returns
//! A
Standard_EXPORT Extrema_POnCurv2d& ChangeValue (const Standard_Integer Index);
Extrema_POnCurv2d& operator() (const Standard_Integer Index)
{
return ChangeValue(Index);
}
//! Removes from <me> the item at position <Index>.
//! Raises an exception if the index is out of bounds
//! Example:
//! before
//! me = (A B C), Index = 3
//! after
//! me = (A B)
Standard_EXPORT void Remove (const Standard_Integer Index);
//! Removes from <me> all the items of
//! positions between <FromIndex> and <ToIndex>.
//! Raises an exception if the indices are out of bounds.
//! Example:
//! before
//! me = (A B C D E F), FromIndex = 1 ToIndex = 3
//! after
//! me = (D E F)
Standard_EXPORT void Remove (const Standard_Integer FromIndex, const Standard_Integer ToIndex);

View File

@@ -37,10 +37,21 @@ public:
DEFINE_STANDARD_ALLOC
//! Among a set of points {C(ui),i=1,NbU}, locate the point
//! P=C(uj) such that:
//! distance(P,C) = Min{distance(P,C(ui))}
Standard_EXPORT static void Locate (const gp_Pnt2d& P, const Adaptor2d_Curve2d& C, const Standard_Integer NbU, Extrema_POnCurv2d& Papp);
//! Among a set of points {C(ui),i=1,NbU}, locate the point
//! P=C(uj) such that:
//! distance(P,C) = Min{distance(P,C(ui))}
//! The research is done between umin and usup.
Standard_EXPORT static void Locate (const gp_Pnt2d& P, const Adaptor2d_Curve2d& C, const Standard_Integer NbU, const Standard_Real Umin, const Standard_Real Usup, Extrema_POnCurv2d& Papp);
//! Among two sets of points {C1(ui),i=1,NbU} and
//! {C2(vj),j=1,NbV}, locate the two points P1=C1(uk) and
//! P2=C2(vl) such that:
//! distance(P1,P2) = Min {distance(C1(ui),C2(vj))}.
Standard_EXPORT static void Locate (const Adaptor2d_Curve2d& C1, const Adaptor2d_Curve2d& C2, const Standard_Integer NbU, const Standard_Integer NbV, Extrema_POnCurv2d& Papp1, Extrema_POnCurv2d& Papp2);

View File

@@ -41,14 +41,28 @@ public:
Standard_EXPORT Geom2dInt_TheDistBetweenPCurvesOfTheIntPCurvePCurveOfGInter(const Adaptor2d_Curve2d& curve1, const Adaptor2d_Curve2d& curve2);
//! returns 2.
Standard_EXPORT Standard_Integer NbVariables() const;
//! returns 2.
Standard_EXPORT Standard_Integer NbEquations() const;
//! computes the values <F> of the Functions for the
//! variable <X>.
//! returns True if the computation was done successfully,
//! False otherwise.
Standard_EXPORT Standard_Boolean Value (const math_Vector& X, math_Vector& F);
//! returns the values <D> of the derivatives for the
//! variable <X>.
//! returns True if the computation was done successfully,
//! False otherwise.
Standard_EXPORT Standard_Boolean Derivatives (const math_Vector& X, math_Matrix& D);
//! returns the values <F> of the functions and the derivatives
//! <D> for the variable <X>.
//! returns True if the computation was done successfully,
//! False otherwise.
Standard_EXPORT Standard_Boolean Values (const math_Vector& X, math_Vector& F, math_Matrix& D);

View File

@@ -45,26 +45,39 @@ public:
DEFINE_STANDARD_ALLOC
//! Empty constructor.
Geom2dInt_TheIntConicCurveOfGInter();
//! Intersection between a line and a parametric curve.
Geom2dInt_TheIntConicCurveOfGInter(const gp_Lin2d& L, const IntRes2d_Domain& D1, const Adaptor2d_Curve2d& PCurve, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between a line and a parametric curve.
Standard_EXPORT Geom2dInt_TheIntConicCurveOfGInter(const gp_Circ2d& C, const IntRes2d_Domain& D1, const Adaptor2d_Curve2d& PCurve, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between an ellipse and a parametric curve.
Standard_EXPORT Geom2dInt_TheIntConicCurveOfGInter(const gp_Elips2d& E, const IntRes2d_Domain& D1, const Adaptor2d_Curve2d& PCurve, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between a parabola and a parametric curve.
Standard_EXPORT Geom2dInt_TheIntConicCurveOfGInter(const gp_Parab2d& Prb, const IntRes2d_Domain& D1, const Adaptor2d_Curve2d& PCurve, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between the main branch of an hyperbola
//! and a parametric curve.
Standard_EXPORT Geom2dInt_TheIntConicCurveOfGInter(const gp_Hypr2d& H, const IntRes2d_Domain& D1, const Adaptor2d_Curve2d& PCurve, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between a line and a parametric curve.
void Perform (const gp_Lin2d& L, const IntRes2d_Domain& D1, const Adaptor2d_Curve2d& PCurve, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between a line and a parametric curve.
void Perform (const gp_Circ2d& C, const IntRes2d_Domain& D1, const Adaptor2d_Curve2d& PCurve, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between an ellipse and a parametric curve.
void Perform (const gp_Elips2d& E, const IntRes2d_Domain& D1, const Adaptor2d_Curve2d& PCurve, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between a parabola and a parametric curve.
void Perform (const gp_Parab2d& Prb, const IntRes2d_Domain& D1, const Adaptor2d_Curve2d& PCurve, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between the main branch of an hyperbola
//! and a parametric curve.
void Perform (const gp_Hypr2d& H, const IntRes2d_Domain& D1, const Adaptor2d_Curve2d& PCurve, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
@@ -79,6 +92,8 @@ protected:
private:
//! Intersection between a conic fom gp
//! and a parametric curve.
void Perform (const IntCurve_IConicTool& ICurve, const IntRes2d_Domain& D1, const Adaptor2d_Curve2d& PCurve, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);

View File

@@ -65,6 +65,11 @@ protected:
private:
//! Method to find intersection between two curves
//! : returns false for case when some points of polygon
//! : were replaced on line and exact point of intersection was not found
//! : for case when point of intersection was found
//! : during prelimanary search for line (case of bad paramerization of Bspline for example).
Standard_EXPORT Standard_Boolean findIntersect (const Adaptor2d_Curve2d& Curve1, const IntRes2d_Domain& Domain1, const Adaptor2d_Curve2d& Curve2, const IntRes2d_Domain& Domain2, const Standard_Real TolConf, const Standard_Real Tol, const Standard_Integer NbIter, const Standard_Real DeltaU, const Standard_Real DeltaV, const Geom2dInt_ThePolygon2dOfTheIntPCurvePCurveOfGInter& thePoly1, const Geom2dInt_ThePolygon2dOfTheIntPCurvePCurveOfGInter& thePoly2, const Standard_Boolean isFullRepresentation);

View File

@@ -43,10 +43,21 @@ public:
DEFINE_STANDARD_ALLOC
//! Empty constructor.
Standard_EXPORT Geom2dInt_TheIntersectorOfTheIntConicCurveOfGInter();
//! Intersection between an implicit curve and
//! a parametrised curve.
//! The exception ConstructionError is raised if the domain
//! of the parametrised curve does not verify HasFirstPoint
//! and HasLastPoint return True.
Standard_EXPORT Geom2dInt_TheIntersectorOfTheIntConicCurveOfGInter(const IntCurve_IConicTool& ITool, const IntRes2d_Domain& Dom1, const Adaptor2d_Curve2d& PCurve, const IntRes2d_Domain& Dom2, const Standard_Real TolConf, const Standard_Real Tol);
//! Intersection between an implicit curve and
//! a parametrised curve.
//! The exception ConstructionError is raised if the domain
//! of the parametrised curve does not verify HasFirstPoint
//! and HasLastPoint return True.
Standard_EXPORT void Perform (const IntCurve_IConicTool& ITool, const IntRes2d_Domain& Dom1, const Adaptor2d_Curve2d& PCurve, const IntRes2d_Domain& Dom2, const Standard_Real TolConf, const Standard_Real Tol);
Standard_EXPORT Standard_Real FindU (const Standard_Real parameter, gp_Pnt2d& point, const Adaptor2d_Curve2d& TheParCurev, const IntCurve_IConicTool& TheImpTool) const;

View File

@@ -46,20 +46,47 @@ public:
Standard_EXPORT Geom2dInt_TheLocateExtPCOfTheProjPCurOfGInter();
//! Calculates the distance with a close point.
//! The close point is defined by the parameter value
//! U0.
//! The function F(u)=distance(P,C(u)) has an extremum
//! when g(u)=dF/du=0. The algorithm searchs a zero
//! near the close point.
//! TolU is used to decide to stop the iterations.
//! At the nth iteration, the criteria is:
//! abs(Un - Un-1) < TolU.
Standard_EXPORT Geom2dInt_TheLocateExtPCOfTheProjPCurOfGInter(const gp_Pnt2d& P, const Adaptor2d_Curve2d& C, const Standard_Real U0, const Standard_Real TolU);
//! Calculates the distance with a close point.
//! The close point is defined by the parameter value
//! U0.
//! The function F(u)=distance(P,C(u)) has an extremum
//! when g(u)=dF/du=0. The algorithm searchs a zero
//! near the close point.
//! Zeros are searched between Umin et Usup.
//! TolU is used to decide to stop the iterations.
//! At the nth iteration, the criteria is:
//! abs(Un - Un-1) < TolU.
Standard_EXPORT Geom2dInt_TheLocateExtPCOfTheProjPCurOfGInter(const gp_Pnt2d& P, const Adaptor2d_Curve2d& C, const Standard_Real U0, const Standard_Real Umin, const Standard_Real Usup, const Standard_Real TolU);
//! sets the fields of the algorithm.
Standard_EXPORT void Initialize (const Adaptor2d_Curve2d& C, const Standard_Real Umin, const Standard_Real Usup, const Standard_Real TolU);
//! the algorithm is done with the point P.
//! An exception is raised if the fields have not
//! been initialized.
Standard_EXPORT void Perform (const gp_Pnt2d& P, const Standard_Real U0);
//! Returns True if the distance is found.
Standard_EXPORT Standard_Boolean IsDone() const;
//! Returns the value of the extremum square distance.
Standard_EXPORT Standard_Real SquareDistance() const;
//! Returns True if the extremum distance is a minimum.
Standard_EXPORT Standard_Boolean IsMin() const;
//! Returns the point of the extremum distance.
Standard_EXPORT const Extrema_POnCurv2d& Point() const;

View File

@@ -44,8 +44,14 @@ public:
DEFINE_STANDARD_ALLOC
//! Compute a polygon on the domain of the curve.
Standard_EXPORT Geom2dInt_ThePolygon2dOfTheIntPCurvePCurveOfGInter(const Adaptor2d_Curve2d& Curve, const Standard_Integer NbPnt, const IntRes2d_Domain& Domain, const Standard_Real Tol);
//! The current polygon is modified if most
//! of the points of the polygon are are
//! outside the box <OtherBox>. In this
//! situation, bounds are computed to build
//! a polygon inside or near the OtherBox.
Standard_EXPORT void ComputeWithBox (const Adaptor2d_Curve2d& Curve, const Bnd_Box2d& OtherBox);
virtual Standard_Real DeflectionOverEstimation() const Standard_OVERRIDE;
@@ -54,16 +60,24 @@ public:
void Closed (const Standard_Boolean clos);
//! Give the number of Segments in the polyline.
virtual Standard_Integer NbSegments() const Standard_OVERRIDE;
//! Returns the points of the segment <Index> in the Polygon.
Standard_EXPORT virtual void Segment (const Standard_Integer theIndex, gp_Pnt2d& theBegin, gp_Pnt2d& theEnd) const Standard_OVERRIDE;
//! Returns the parameter (On the curve)
//! of the first point of the Polygon
Standard_Real InfParameter() const;
//! Returns the parameter (On the curve)
//! of the last point of the Polygon
Standard_Real SupParameter() const;
Standard_EXPORT Standard_Boolean AutoIntersectionIsPossible() const;
//! Give an approximation of the parameter on the curve
//! according to the discretization of the Curve.
Standard_EXPORT Standard_Real ApproxParamOnCurve (const Standard_Integer Index, const Standard_Real ParamOnLine) const;
Standard_Integer CalculRegion (const Standard_Real x, const Standard_Real y, const Standard_Real x1, const Standard_Real x2, const Standard_Real y1, const Standard_Real y2) const;

View File

@@ -38,8 +38,33 @@ public:
DEFINE_STANDARD_ALLOC
//! Returns the parameter V of the point on the
//! parametric curve corresponding to the Point Pnt.
//! The Correspondance between Pnt and the point P(V)
//! on the parametric curve must be coherent with the
//! way of determination of the signed distance
//! between a point and the implicit curve.
//! Tol is the tolerance on the distance between a point
//! and the parametrised curve.
//! In that case, no bounds are given. The research of
//! the rigth parameter has to be made on the natural
//! parametric domain of the curve.
Standard_EXPORT static Standard_Real FindParameter (const Adaptor2d_Curve2d& C, const gp_Pnt2d& Pnt, const Standard_Real Tol);
//! Returns the parameter V of the point on the
//! parametric curve corresponding to the Point Pnt.
//! The Correspondance between Pnt and the point P(V)
//! on the parametric curve must be coherent with the
//! way of determination of the signed distance
//! between a point and the implicit curve.
//! Tol is the tolerance on the distance between a point
//! and the parametrised curve.
//! LowParameter and HighParameter give the
//! boundaries of the interval in wich the parameter
//! certainly lies. These parameters are given to
//! implement a more efficient algoritm. So, it is not
//! necessary to check that the returned value verifies
//! LowParameter <= Value <= HighParameter.
Standard_EXPORT static Standard_Real FindParameter (const Adaptor2d_Curve2d& C, const gp_Pnt2d& Pnt, const Standard_Real LowParameter, const Standard_Real HighParameter, const Standard_Real Tol);