mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-07 18:30:55 +03:00
0031939: Coding - correction of spelling errors in comments [part 10]
Fix various typos via codespell.
This commit is contained in:
parent
b69e576af0
commit
316ea29318
@ -180,7 +180,7 @@ drivers for a function driver table with the help of *TFunction_DriverTable* cl
|
|||||||
const TDF_LabelList& currentFunctions = iterator.Current();
|
const TDF_LabelList& currentFunctions = iterator.Current();
|
||||||
|
|
||||||
//The list of current functions is iterated.
|
//The list of current functions is iterated.
|
||||||
TDF_ListIteratorOfLabelList currentterator( currentFucntions );
|
TDF_ListIteratorOfLabelList currentterator( currentFunctions );
|
||||||
for (; currentIterator.More(); currentIterator.Next())
|
for (; currentIterator.More(); currentIterator.Next())
|
||||||
{
|
{
|
||||||
// An interface for the function is created.
|
// An interface for the function is created.
|
||||||
|
@ -11006,7 +11006,7 @@ Converts a surface of linear extrusion, revolution and offset surfaces into BSpl
|
|||||||
~~~~~
|
~~~~~
|
||||||
DT_ToBspl res sh
|
DT_ToBspl res sh
|
||||||
== error = 5.20375663162094e-08 spans = 10
|
== error = 5.20375663162094e-08 spans = 10
|
||||||
== Surface is aproximated with continuity 2
|
== Surface is approximated with continuity 2
|
||||||
~~~~~
|
~~~~~
|
||||||
|
|
||||||
@section occt_draw_10 Performance evaluation commands
|
@section occt_draw_10 Performance evaluation commands
|
||||||
|
@ -1177,20 +1177,22 @@ It is possible to describe any model by means of standard OCAF attributes.
|
|||||||
|
|
||||||
A load is distributed through the shape.
|
A load is distributed through the shape.
|
||||||
The measurements are taken at particular points defined by (x, y and z) coordinates.
|
The measurements are taken at particular points defined by (x, y and z) coordinates.
|
||||||
The load is represented as a projection onto X, Y and Z axes of the local co-ordinate system at each point of measurement.
|
The load is represented as a projection onto X, Y and Z axes of the local coordinate system at each point of measurement.
|
||||||
A matrix of transformation is needed to convert the local co-ordinate system to the global one, but this is optional.
|
A matrix of transformation is needed to convert the local coordinate system to the global one, but this is optional.
|
||||||
|
|
||||||
So, we have 15 double values at each point of measurement.
|
So, we have 15 double values at each point of measurement.
|
||||||
If the number of such points is 100 000, for example, it means
|
If the number of such points is 100 000, for example, it means
|
||||||
that we have to store 1 500 000 double values in the OCAF document.
|
that we have to store 1 500 000 double values in the OCAF document.
|
||||||
|
|
||||||
The first approach consists in using standard OCAF attributes.
|
The first approach consists in using standard OCAF attributes.
|
||||||
Besides, there are several variants of how the standard attributes may be used:
|
Besides, there are several variants of how the standard attributes may be used:
|
||||||
* Allocation of all 1 500 000 double values as one array of double values attached to one label;
|
* Allocation of all 1 500 000 double values as one array of double values attached to one label;
|
||||||
* Allocation of values of one measure of load (15 values) as one array of double values and attachment of one point of measure to one label;
|
* Allocation of values of one measure of load (15 values) as one array of double values and attachment of one point of measure to one label;
|
||||||
* Allocation of each point of measure as an array of 3 double values attached to one label, the projection of load onto the local co-ordinate system axes as another array of 3 double values attached to a sub-label, and the matrix of projection (9 values) as the third array also attached to a sub-label.
|
* Allocation of each point of measure as an array of 3 double values attached to one label,
|
||||||
|
the projection of load onto the local coordinate system axes as another array of 3 double values attached to a sub-label,
|
||||||
|
and the matrix of projection (9 values) as the third array also attached to a sub-label.
|
||||||
|
|
||||||
Certainly, other variants are also possible.
|
Certainly, other variants are also possible.
|
||||||
|
|
||||||
@figure{ocaf_tree_wp_image003.png,"Allocation of all data as one array of double values",350}
|
@figure{ocaf_tree_wp_image003.png,"Allocation of all data as one array of double values",350}
|
||||||
|
|
||||||
@ -1560,43 +1562,45 @@ To automatically erase the nail from the viewer and the data tree it is enough
|
|||||||
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp}
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp}
|
||||||
|
|
||||||
// The scope of functions is defined.
|
// The scope of functions is defined.
|
||||||
Handle(TFunction_Scope) scope = TFunction_Scope::Set( anyLabel );
|
Handle(TFunction_Scope) aScope = TFunction_Scope::Set (anyLabel);
|
||||||
|
|
||||||
// The information on modifications in the model is received.
|
// The information on modifications in the model is received.
|
||||||
TFunction_Logbook& log = scope-GetLogbook();
|
TFunction_Logbook& aLog = aScope->GetLogbook();
|
||||||
|
|
||||||
// The iterator is iInitialized by the scope of functions.
|
// The iterator is iInitialized by the scope of functions.
|
||||||
TFunction_Iterator iterator( anyLabel );
|
TFunction_Iterator anIterator (anyLabel);
|
||||||
Iterator.SetUsageOfExecutionOrder( true );
|
anIterator.SetUsageOfExecutionOrder (true);
|
||||||
|
|
||||||
// The function is iterated, its dependency is checked on the modified data and executed if necessary.
|
// The function is iterated, its dependency is checked on the modified data and executed if necessary.
|
||||||
for (; iterator.more(); iterator.Next())
|
for (; anIterator.more(); anIterator.Next())
|
||||||
|
{
|
||||||
|
// The function iterator may return a list of current functions for execution.
|
||||||
|
// It might be useful for multi-threaded execution of functions.
|
||||||
|
const TDF_LabelList& aCurrentFunctions = anIterator.Current();
|
||||||
|
|
||||||
|
// The list of current functions is iterated.
|
||||||
|
for (TDF_ListIteratorOfLabelList aCurrentIterator (aCurrentFunctions);
|
||||||
|
aCurrentIterator.More(); aCurrentIterator.Next())
|
||||||
|
{
|
||||||
|
// An interface for the function is created.
|
||||||
|
TFunction_IFunction anInterface (aCurrentIterator.Value());
|
||||||
|
|
||||||
|
// The function driver is retrieved.
|
||||||
|
Handle(TFunction_Driver) aDriver = anInterface.GetDriver();
|
||||||
|
|
||||||
|
// The dependency of the function on the modified data is checked.
|
||||||
|
if (aDriver->MustExecute (aLog))
|
||||||
{
|
{
|
||||||
// The function iterator may return a list of current functions for execution.
|
// The function is executed.
|
||||||
// It might be useful for multi-threaded execution of functions.
|
int aRes = aDriver->Execute (aLog);
|
||||||
const TDF_LabelList& currentFunctions = iterator.Current();
|
if (aRes)
|
||||||
|
|
||||||
//The list of current functions is iterated.
|
|
||||||
TDF_ListIteratorOfLabelList currentterator( currentFucntions );
|
|
||||||
for (; currentIterator.More(); currentIterator.Next())
|
|
||||||
{
|
{
|
||||||
// An interface for the function is created.
|
return false;
|
||||||
TFunction_IFunction interface( currentIterator.Value() );
|
}
|
||||||
|
}
|
||||||
// The function driver is retrieved.
|
}
|
||||||
Handle(TFunction_Driver) driver = interface.GetDriver();
|
}
|
||||||
|
|
||||||
// The dependency of the function on the modified data is checked.
|
|
||||||
If (driver-MustExecute( log ))
|
|
||||||
{
|
|
||||||
// The function is executed.
|
|
||||||
int ret = driver-Execute( log );
|
|
||||||
if ( ret )
|
|
||||||
return false;
|
|
||||||
} // end if check on modification
|
|
||||||
} // end of iteration of current functions
|
|
||||||
} // end of iteration of functions.
|
|
||||||
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
<Sample name="Clear" function="ClearGrid2dSample"/>
|
<Sample name="Clear" function="ClearGrid2dSample"/>
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
<MenuItem name="Image">
|
<MenuItem name="Image">
|
||||||
<Sample name="Backgroung Image" function="BackgroungImage2dSample"/>
|
<Sample name="Background Image" function="BackgroundImage2dSample"/>
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
</Menu>
|
</Menu>
|
@ -140,7 +140,7 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
|
|
||||||
//! The TypeOfPresention3d means that the interactive object
|
//! The TypeOfPresention3d means that the interactive object
|
||||||
//! may have a presentation dependant of the view of Display.
|
//! may have a presentation dependent on the view of Display.
|
||||||
Standard_EXPORT AIS_InteractiveObject(const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d = PrsMgr_TOP_AllView);
|
Standard_EXPORT AIS_InteractiveObject(const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d = PrsMgr_TOP_AllView);
|
||||||
|
|
||||||
//! Set presentation display status.
|
//! Set presentation display status.
|
||||||
|
@ -196,7 +196,7 @@ public:
|
|||||||
Standard_EXPORT void StopTransform (const Standard_Boolean theToApply = Standard_True);
|
Standard_EXPORT void StopTransform (const Standard_Boolean theToApply = Standard_True);
|
||||||
|
|
||||||
//! Apply transformation made from mouse moving from start position
|
//! Apply transformation made from mouse moving from start position
|
||||||
//! (save on the first Tranform() call and reset on DeactivateCurrentMode() call.)
|
//! (save on the first Transform() call and reset on DeactivateCurrentMode() call.)
|
||||||
//! to the in/out mouse position (theX, theY)
|
//! to the in/out mouse position (theX, theY)
|
||||||
Standard_EXPORT gp_Trsf Transform (const Standard_Integer theX, const Standard_Integer theY,
|
Standard_EXPORT gp_Trsf Transform (const Standard_Integer theX, const Standard_Integer theY,
|
||||||
const Handle(V3d_View)& theView);
|
const Handle(V3d_View)& theView);
|
||||||
@ -361,7 +361,7 @@ protected:
|
|||||||
|
|
||||||
Standard_EXPORT void setTransformPersistence (const Handle(Graphic3d_TransformPers)& theTrsfPers);
|
Standard_EXPORT void setTransformPersistence (const Handle(Graphic3d_TransformPers)& theTrsfPers);
|
||||||
|
|
||||||
//! Redefines local transformation management method to inform user of inproper use.
|
//! Redefines local transformation management method to inform user of improper use.
|
||||||
//! @warning this interactive object does not support setting custom local transformation,
|
//! @warning this interactive object does not support setting custom local transformation,
|
||||||
//! this class solely uses this property to implement visual positioning of the manipulator
|
//! this class solely uses this property to implement visual positioning of the manipulator
|
||||||
//! without need for recomputing presentation.
|
//! without need for recomputing presentation.
|
||||||
|
@ -31,7 +31,7 @@ class TColStd_HPackedMapOfInteger;
|
|||||||
//! The presentation supports two display modes:
|
//! The presentation supports two display modes:
|
||||||
//! - Points.
|
//! - Points.
|
||||||
//! - Bounding box for highlighting.
|
//! - Bounding box for highlighting.
|
||||||
//! Presentation provides selection by bouding box.
|
//! Presentation provides selection by bounding box.
|
||||||
//! Selection and consequently highlighting can disabled by
|
//! Selection and consequently highlighting can disabled by
|
||||||
//! setting default selection mode to -1. There will be no way
|
//! setting default selection mode to -1. There will be no way
|
||||||
//! to select object from interactive view. Any calls to
|
//! to select object from interactive view. Any calls to
|
||||||
|
@ -27,7 +27,7 @@ DEFINE_STANDARD_HANDLE(AIS_RubberBand, AIS_InteractiveObject)
|
|||||||
//! Presentation for drawing rubber band selection.
|
//! Presentation for drawing rubber band selection.
|
||||||
//! It supports rectangle and polygonal selection.
|
//! It supports rectangle and polygonal selection.
|
||||||
//! It is constructed in 2d overlay.
|
//! It is constructed in 2d overlay.
|
||||||
//! Default configaration is built without filling.
|
//! Default configuration is built without filling.
|
||||||
//! For rectangle selection use SetRectangle() method.
|
//! For rectangle selection use SetRectangle() method.
|
||||||
//! For polygonal selection use AddPoint() and GetPoints() methods.
|
//! For polygonal selection use AddPoint() and GetPoints() methods.
|
||||||
class AIS_RubberBand : public AIS_InteractiveObject
|
class AIS_RubberBand : public AIS_InteractiveObject
|
||||||
|
@ -148,8 +148,8 @@ static void CompareBounds(gp_Pnt2d& P1,
|
|||||||
static void Hunt(const TColStd_Array1OfReal& Arr,
|
static void Hunt(const TColStd_Array1OfReal& Arr,
|
||||||
const Standard_Real Coord,
|
const Standard_Real Coord,
|
||||||
Standard_Integer& Iloc)
|
Standard_Integer& Iloc)
|
||||||
{//Warning: Hunt is used to find number of knot which equals co-ordinate component,
|
{//Warning: Hunt is used to find number of knot which equals coordinate component,
|
||||||
// when co-ordinate component definitly equals a knot only.
|
// when coordinate component definitly equals a knot only.
|
||||||
Standard_Real Tol=Precision::PConfusion()/10;
|
Standard_Real Tol=Precision::PConfusion()/10;
|
||||||
Standard_Integer i=1;
|
Standard_Integer i=1;
|
||||||
while((i <= Arr.Upper()) && (Abs(Coord - Arr(i)) > Tol)){
|
while((i <= Arr.Upper()) && (Abs(Coord - Arr(i)) > Tol)){
|
||||||
|
@ -752,7 +752,7 @@ void AdvApprox_ApproxAFunction::Perform(const Standard_Integer Num1DSS,
|
|||||||
index += 1 ;
|
index += 1 ;
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
// Ouput
|
// Output
|
||||||
//
|
//
|
||||||
|
|
||||||
Standard_Integer ErrorCode = 0,
|
Standard_Integer ErrorCode = 0,
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#include <NCollection_Array1.hxx>
|
#include <NCollection_Array1.hxx>
|
||||||
#include <Standard_Integer.hxx>
|
#include <Standard_Integer.hxx>
|
||||||
|
|
||||||
//! Class describing a continous 3d and/or function f(u).
|
//! Class describing a continuous 3d and/or function f(u).
|
||||||
//! This class must be provided by the user to use the approximation algorithm FittingCurve.
|
//! This class must be provided by the user to use the approximation algorithm FittingCurve.
|
||||||
class AppCont_Function
|
class AppCont_Function
|
||||||
{
|
{
|
||||||
|
@ -166,7 +166,7 @@ void Approx_ComputeCLine::Perform(const MultiLine& Line)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// keep best decison
|
// keep best decision
|
||||||
if ((thetol3d + thetol2d) < (KeptT3d + KeptT2d))
|
if ((thetol3d + thetol2d) < (KeptT3d + KeptT2d))
|
||||||
{
|
{
|
||||||
KeptMultiCurve = TheMultiCurve;
|
KeptMultiCurve = TheMultiCurve;
|
||||||
|
@ -22,13 +22,17 @@
|
|||||||
#include <GeomAbs_Shape.hxx>
|
#include <GeomAbs_Shape.hxx>
|
||||||
#include <Standard_OStream.hxx>
|
#include <Standard_OStream.hxx>
|
||||||
|
|
||||||
//! Approximation of a Curve to make its parameter be its
|
//! Approximation of a Curve to make its parameter be its curvilinear abscissa.
|
||||||
//! curvilinear abscissa
|
|
||||||
//! If the curve is a curve on a surface S, C2D is the corresponding Pcurve,
|
//! If the curve is a curve on a surface S, C2D is the corresponding Pcurve,
|
||||||
//! we considere the curve is given by its representation S(C2D(u))
|
//! we consider the curve is given by its representation
|
||||||
//! If the curve is a curve on 2 surfaces S1 and S2 and C2D1 C2D2 are
|
//! @code
|
||||||
//! the two corresponding Pcurve, we considere the curve is given
|
//! S(C2D(u))
|
||||||
//! by its representation 1/2(S1(C2D1(u) + S2 (C2D2(u)))
|
//! @endcode
|
||||||
|
//! If the curve is a curve on 2 surfaces S1 and S2 and C2D1 C2D2 are the two corresponding Pcurve,
|
||||||
|
//! we consider the curve is given by its representation
|
||||||
|
//! @code
|
||||||
|
//! 1/2(S1(C2D1(u) + S2(C2D2(u)))
|
||||||
|
//! @endcode
|
||||||
class Approx_CurvilinearParameter
|
class Approx_CurvilinearParameter
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -72,20 +76,11 @@ public:
|
|||||||
//! print the maximum errors(s)
|
//! print the maximum errors(s)
|
||||||
Standard_EXPORT void Dump (Standard_OStream& o) const;
|
Standard_EXPORT void Dump (Standard_OStream& o) const;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
|
||||||
Standard_EXPORT static void ToleranceComputation (const Handle(Adaptor2d_Curve2d)& C2D, const Handle(Adaptor3d_Surface)& S, const Standard_Integer MaxNumber, const Standard_Real Tol, Standard_Real& TolV, Standard_Real& TolW);
|
Standard_EXPORT static void ToleranceComputation (const Handle(Adaptor2d_Curve2d)& C2D, const Handle(Adaptor3d_Surface)& S, const Standard_Integer MaxNumber, const Standard_Real Tol, Standard_Real& TolV, Standard_Real& TolW);
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
Standard_Integer myCase;
|
Standard_Integer myCase;
|
||||||
Standard_Boolean myDone;
|
Standard_Boolean myDone;
|
||||||
@ -97,13 +92,6 @@ private:
|
|||||||
Handle(Geom2d_BSplineCurve) myCurve2d2;
|
Handle(Geom2d_BSplineCurve) myCurve2d2;
|
||||||
Standard_Real myMaxError2d2;
|
Standard_Real myMaxError2d2;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif // _Approx_CurvilinearParameter_HeaderFile
|
#endif // _Approx_CurvilinearParameter_HeaderFile
|
||||||
|
@ -349,7 +349,7 @@ void ApproxInt_KnotTools::FilterKnots(NCollection_Sequence<Standard_Integer>& th
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// II: Filter poins with too small amount of points per knot interval.
|
// II: Filter points with too small amount of points per knot interval.
|
||||||
i = 1;
|
i = 1;
|
||||||
theLKnots.Append(theInds(i));
|
theLKnots.Append(theInds(i));
|
||||||
Standard_Integer anIndsPrev = theInds(i);
|
Standard_Integer anIndsPrev = theInds(i);
|
||||||
|
@ -68,7 +68,7 @@ public:
|
|||||||
//! @param thePntsXYZ - Set of 3d points.
|
//! @param thePntsXYZ - Set of 3d points.
|
||||||
//! @param thePntsU1V1 - Set of 2d points.
|
//! @param thePntsU1V1 - Set of 2d points.
|
||||||
//! @param thePntsU2V2 - Set of 2d points.
|
//! @param thePntsU2V2 - Set of 2d points.
|
||||||
//! @param thePars - Expected parameters assoiated with set.
|
//! @param thePars - Expected parameters associated with set.
|
||||||
//! @param theApproxXYZ - Flag, existence of 3d set.
|
//! @param theApproxXYZ - Flag, existence of 3d set.
|
||||||
//! @param theApproxU1V1 - Flag existence of first 2d set.
|
//! @param theApproxU1V1 - Flag existence of first 2d set.
|
||||||
//! @param theApproxU2V2 - Flag existence of second 2d set.
|
//! @param theApproxU2V2 - Flag existence of second 2d set.
|
||||||
@ -121,7 +121,7 @@ private:
|
|||||||
//!
|
//!
|
||||||
//! I: Filter too big number of points per knot interval.
|
//! I: Filter too big number of points per knot interval.
|
||||||
//!
|
//!
|
||||||
//! II: Filter poins with too small amount of points per knot interval.
|
//! II: Filter points with too small amount of points per knot interval.
|
||||||
//!
|
//!
|
||||||
//! III: Fill Last Knot.
|
//! III: Fill Last Knot.
|
||||||
static void FilterKnots(NCollection_Sequence<Standard_Integer>& theInds,
|
static void FilterKnots(NCollection_Sequence<Standard_Integer>& theInds,
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
// commercial license or contractual agreement.
|
// commercial license or contractual agreement.
|
||||||
|
|
||||||
/*============================================================================*/
|
/*============================================================================*/
|
||||||
/*==== Titre: Aspect_Display.hxx */
|
/*==== Title: Aspect_Display.hxx */
|
||||||
/*==== Role : The header file of primitive type "Display" from package */
|
/*==== Role : The header file of primitive type "Display" from package */
|
||||||
/*==== "V3d" */
|
/*==== "V3d" */
|
||||||
/*==== Implementation: This is a primitive type implemented with typedef */
|
/*==== Implementation: This is a primitive type implemented with typedef */
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
// commercial license or contractual agreement.
|
// commercial license or contractual agreement.
|
||||||
|
|
||||||
/*============================================================================*/
|
/*============================================================================*/
|
||||||
/*==== Titre: Aspect_Drawable.hxx */
|
/*==== Title: Aspect_Drawable.hxx */
|
||||||
/*==== Role : The header file of primitive type "Handle" from packages */
|
/*==== Role : The header file of primitive type "Handle" from packages */
|
||||||
/*==== "Xw" & "WNT" */
|
/*==== "Xw" & "WNT" */
|
||||||
/*==== Implementation: This is a primitive type implemented with typedef */
|
/*==== Implementation: This is a primitive type implemented with typedef */
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
// commercial license or contractual agreement.
|
// commercial license or contractual agreement.
|
||||||
|
|
||||||
/*============================================================================*/
|
/*============================================================================*/
|
||||||
/*==== Titre: Aspect_Handle.hxx */
|
/*==== Title: Aspect_Handle.hxx */
|
||||||
/*==== Role : The header file of primitive type "Handle" from packages */
|
/*==== Role : The header file of primitive type "Handle" from packages */
|
||||||
/*==== "Xw" & "WNT" */
|
/*==== "Xw" & "WNT" */
|
||||||
/*==== Implementation: This is a primitive type implemented with typedef */
|
/*==== Implementation: This is a primitive type implemented with typedef */
|
||||||
|
@ -12,9 +12,9 @@
|
|||||||
// commercial license or contractual agreement.
|
// commercial license or contractual agreement.
|
||||||
|
|
||||||
/*============================================================================*/
|
/*============================================================================*/
|
||||||
/*==== Titre: Aspect_RenderingContext.hxx */
|
/*==== Title: Aspect_RenderingContext.hxx */
|
||||||
/*==== Role : The header file of primitive type "RenderingContext" from package */
|
/*==== Role: The header file of primitive type "RenderingContext" from package*/
|
||||||
/*==== "V3d" */
|
/*==== "V3d" */
|
||||||
/*==== Implementation: This is a primitive type implemented with typedef */
|
/*==== Implementation: This is a primitive type implemented with typedef */
|
||||||
/*============================================================================*/
|
/*============================================================================*/
|
||||||
// To manage 2D or 3D graphic context
|
// To manage 2D or 3D graphic context
|
||||||
|
@ -64,7 +64,7 @@ void BOPTest::OptionCommands(Draw_Interpretor& theCommands)
|
|||||||
"\t\tUsage: bglue [0 (off) / 1 (shift) / 2 (full)]",
|
"\t\tUsage: bglue [0 (off) / 1 (shift) / 2 (full)]",
|
||||||
__FILE__, bGlue, g);
|
__FILE__, bGlue, g);
|
||||||
|
|
||||||
theCommands.Add("bdrawwarnshapes", "Enables/Disables drawing of waring shapes of BOP algorithms.\n"
|
theCommands.Add("bdrawwarnshapes", "Enables/Disables drawing of warning shapes of BOP algorithms.\n"
|
||||||
"\t\tUsage: bdrawwarnshapes 0 (do not draw) / 1 (draw warning shapes)",
|
"\t\tUsage: bdrawwarnshapes 0 (do not draw) / 1 (draw warning shapes)",
|
||||||
__FILE__, bdrawwarnshapes, g);
|
__FILE__, bdrawwarnshapes, g);
|
||||||
|
|
||||||
|
@ -189,14 +189,15 @@ public:
|
|||||||
|
|
||||||
//! Checks if CurveOnSurface of theE on theF matches with isoline of theF surface.
|
//! Checks if CurveOnSurface of theE on theF matches with isoline of theF surface.
|
||||||
//! Sets corresponding values for isTheUIso and isTheVIso variables.
|
//! Sets corresponding values for isTheUIso and isTheVIso variables.
|
||||||
|
//!
|
||||||
//! ATTENTION!!!
|
//! ATTENTION!!!
|
||||||
//! This method is based on comparation between direction of
|
//! This method is based on the comparison between direction of
|
||||||
//! surface (which theF is based on) iso-lines and the direction
|
//! surface (which theF is based on) iso-lines and the direction
|
||||||
//! of the edge p-curve (on theF) in middle-point of the p-curve.
|
//! of the edge p-curve (on theF) in middle-point of the p-curve.
|
||||||
//! This method should be used carefully
|
//!
|
||||||
//! (e.g. BRep_Tool::IsClosed(...) together) in order to
|
//! This method should be used carefully
|
||||||
//! avoid false classification some p-curves as isoline (e.g. circle
|
//! (e.g. BRep_Tool::IsClosed(...) together) in order to avoid
|
||||||
//! on a plane).
|
//! false classification some p-curves as isoline (e.g. circle on a plane).
|
||||||
Standard_EXPORT static void IsEdgeIsoline(const TopoDS_Edge& theE,
|
Standard_EXPORT static void IsEdgeIsoline(const TopoDS_Edge& theE,
|
||||||
const TopoDS_Face& theF,
|
const TopoDS_Face& theF,
|
||||||
Standard_Boolean& isTheUIso,
|
Standard_Boolean& isTheUIso,
|
||||||
|
@ -80,11 +80,10 @@ public:
|
|||||||
//! auto-intersection of new wires are not searched.
|
//! auto-intersection of new wires are not searched.
|
||||||
Standard_EXPORT static Standard_Boolean IsValid (const TopTools_ListOfShape& theArgs, const TopoDS_Shape& theResult, const Standard_Boolean closedSolid = Standard_False, const Standard_Boolean GeomCtrl = Standard_True);
|
Standard_EXPORT static Standard_Boolean IsValid (const TopTools_ListOfShape& theArgs, const TopoDS_Shape& theResult, const Standard_Boolean closedSolid = Standard_False, const Standard_Boolean GeomCtrl = Standard_True);
|
||||||
|
|
||||||
//! Checks if the shape is "correct". If not, returns
|
//! Checks if the shape is "correct".
|
||||||
//! <Standard_False>, else returns <Standard_True>.
|
//! If not, returns FALSE, else returns TRUE.
|
||||||
//! This method differs from the previous one in the
|
//! This method differs from the previous one in the fact that no geometric controls
|
||||||
//! fact that no geometric contols (intersection of
|
//! (intersection of wires, pcurve validity) are performed.
|
||||||
//! wires, pcurve validity) are performed.
|
|
||||||
Standard_EXPORT static Standard_Boolean IsTopologicallyValid (const TopoDS_Shape& S);
|
Standard_EXPORT static Standard_Boolean IsTopologicallyValid (const TopoDS_Shape& S);
|
||||||
|
|
||||||
|
|
||||||
|
@ -37,7 +37,6 @@ class BRepAlgo_AsDes : public Standard_Transient
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
||||||
//! Creates an empty AsDes.
|
//! Creates an empty AsDes.
|
||||||
Standard_EXPORT BRepAlgo_AsDes();
|
Standard_EXPORT BRepAlgo_AsDes();
|
||||||
|
|
||||||
@ -62,44 +61,33 @@ public:
|
|||||||
//! Returns futur subhapes of <S>.
|
//! Returns futur subhapes of <S>.
|
||||||
Standard_EXPORT TopTools_ListOfShape& ChangeDescendant (const TopoDS_Shape& S);
|
Standard_EXPORT TopTools_ListOfShape& ChangeDescendant (const TopoDS_Shape& S);
|
||||||
|
|
||||||
//! Replace <OldS> by <NewS>.
|
//! Replace theOldS by theNewS.
|
||||||
//! <OldS> disapear from <me>.
|
//! theOldS disappear from this.
|
||||||
Standard_EXPORT void Replace (const TopoDS_Shape& OldS, const TopoDS_Shape& NewS);
|
Standard_EXPORT void Replace (const TopoDS_Shape& theOldS, const TopoDS_Shape& theNewS);
|
||||||
|
|
||||||
//! Remove <S> from me.
|
//! Remove theS from me.
|
||||||
Standard_EXPORT void Remove (const TopoDS_Shape& S);
|
Standard_EXPORT void Remove (const TopoDS_Shape& theS);
|
||||||
|
|
||||||
//! Returns True if (S1> and <S2> has common
|
//! Returns True if (S1> and <S2> has common
|
||||||
//! Descendants. Stores in <LC> the Commons Descendants.
|
//! Descendants. Stores in <LC> the Commons Descendants.
|
||||||
Standard_EXPORT Standard_Boolean HasCommonDescendant (const TopoDS_Shape& S1, const TopoDS_Shape& S2, TopTools_ListOfShape& LC) const;
|
Standard_EXPORT Standard_Boolean HasCommonDescendant (const TopoDS_Shape& S1, const TopoDS_Shape& S2, TopTools_ListOfShape& LC) const;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
DEFINE_STANDARD_RTTIEXT(BRepAlgo_AsDes,Standard_Transient)
|
DEFINE_STANDARD_RTTIEXT(BRepAlgo_AsDes,Standard_Transient)
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
//! Replace theOldS by theNewS.
|
||||||
|
//! theOldS disappear from this.
|
||||||
|
Standard_EXPORT void BackReplace (const TopoDS_Shape& theOldS,
|
||||||
|
const TopoDS_Shape& theNewS,
|
||||||
|
const TopTools_ListOfShape& theL,
|
||||||
|
const Standard_Boolean theInUp);
|
||||||
|
|
||||||
//! Replace <OldS> by <NewS>.
|
private:
|
||||||
//! <OldS> disapear from <me>.
|
|
||||||
Standard_EXPORT void BackReplace (const TopoDS_Shape& OldS, const TopoDS_Shape& NewS, const TopTools_ListOfShape& L, const Standard_Boolean InUp);
|
|
||||||
|
|
||||||
TopTools_DataMapOfShapeListOfShape up;
|
TopTools_DataMapOfShapeListOfShape up;
|
||||||
TopTools_DataMapOfShapeListOfShape down;
|
TopTools_DataMapOfShapeListOfShape down;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif // _BRepAlgo_AsDes_HeaderFile
|
#endif // _BRepAlgo_AsDes_HeaderFile
|
||||||
|
@ -151,7 +151,7 @@ protected:
|
|||||||
NCollection_List<Standard_Integer> myFaces;
|
NCollection_List<Standard_Integer> myFaces;
|
||||||
NCollection_List<Standard_Integer> myEdges;
|
NCollection_List<Standard_Integer> myEdges;
|
||||||
|
|
||||||
//! Indentifies the place of this Vertex in
|
//! Identifies the place of this Vertex in
|
||||||
//! BRepBuilderAPI_FastSewing::myVertexVec list
|
//! BRepBuilderAPI_FastSewing::myVertexVec list
|
||||||
Standard_Integer myID;
|
Standard_Integer myID;
|
||||||
};
|
};
|
||||||
@ -201,7 +201,7 @@ protected:
|
|||||||
//! myVertices[i] is Start point of myEdges[i]
|
//! myVertices[i] is Start point of myEdges[i]
|
||||||
Standard_Integer myVertices[4];
|
Standard_Integer myVertices[4];
|
||||||
|
|
||||||
//! Indentifies the place of this Face in
|
//! Identifies the place of this Face in
|
||||||
//! BRepBuilderAPI_FastSewing::myFaceVec list
|
//! BRepBuilderAPI_FastSewing::myFaceVec list
|
||||||
Standard_Integer myID;
|
Standard_Integer myID;
|
||||||
};
|
};
|
||||||
@ -245,7 +245,7 @@ protected:
|
|||||||
//! Value is the index of this shape in myFaceVec array
|
//! Value is the index of this shape in myFaceVec array
|
||||||
NCollection_Sequence<Standard_Integer> myFaces;
|
NCollection_Sequence<Standard_Integer> myFaces;
|
||||||
|
|
||||||
//! Indentifies the place of this Edge in
|
//! Identifies the place of this Edge in
|
||||||
//! BRepBuilderAPI_FastSewing::myEdgeVec list
|
//! BRepBuilderAPI_FastSewing::myEdgeVec list
|
||||||
Standard_Integer myID;
|
Standard_Integer myID;
|
||||||
|
|
||||||
|
@ -235,7 +235,7 @@ public:
|
|||||||
|
|
||||||
//! Gets mode for non-manifold sewing.
|
//! Gets mode for non-manifold sewing.
|
||||||
//!
|
//!
|
||||||
//! INTERNAL FUCTIONS ---
|
//! INTERNAL FUNCTIONS ---
|
||||||
Standard_Boolean NonManifoldMode() const;
|
Standard_Boolean NonManifoldMode() const;
|
||||||
|
|
||||||
|
|
||||||
|
@ -473,7 +473,7 @@ BRepCheck_Status BRepCheck_Face::OrientationOfWires
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// quit withour error
|
// quit without error
|
||||||
if (Update) {
|
if (Update) {
|
||||||
BRepCheck::Add(myMap(myShape),myOrires);
|
BRepCheck::Add(myMap(myShape),myOrires);
|
||||||
}
|
}
|
||||||
|
@ -110,10 +110,10 @@ class BRepExtrema_DistShapeShape
|
|||||||
//! This support can be a Vertex, an Edge or a Face. <br>
|
//! This support can be a Vertex, an Edge or a Face. <br>
|
||||||
Standard_EXPORT TopoDS_Shape SupportOnShape2(const Standard_Integer N) const;
|
Standard_EXPORT TopoDS_Shape SupportOnShape2(const Standard_Integer N) const;
|
||||||
//! gives the corresponding parameter t if the Nth solution <br>
|
//! gives the corresponding parameter t if the Nth solution <br>
|
||||||
//! is situated on an Egde of the first shape <br>
|
//! is situated on an Edge of the first shape <br>
|
||||||
Standard_EXPORT void ParOnEdgeS1(const Standard_Integer N,Standard_Real& t) const;
|
Standard_EXPORT void ParOnEdgeS1(const Standard_Integer N,Standard_Real& t) const;
|
||||||
//! gives the corresponding parameter t if the Nth solution <br>
|
//! gives the corresponding parameter t if the Nth solution <br>
|
||||||
//! is situated on an Egde of the first shape <br>
|
//! is situated on an Edge of the first shape <br>
|
||||||
Standard_EXPORT void ParOnEdgeS2(const Standard_Integer N,Standard_Real& t) const;
|
Standard_EXPORT void ParOnEdgeS2(const Standard_Integer N,Standard_Real& t) const;
|
||||||
//! gives the corresponding parameters (U,V) if the Nth solution <br>
|
//! gives the corresponding parameters (U,V) if the Nth solution <br>
|
||||||
//! is situated on an face of the first shape <br>
|
//! is situated on an face of the first shape <br>
|
||||||
|
@ -28,18 +28,15 @@ class Geom2d_Curve;
|
|||||||
class StdFail_NotDone;
|
class StdFail_NotDone;
|
||||||
|
|
||||||
|
|
||||||
//! Evaluate the 3dCurve and the PCurves described in
|
//! Evaluate the 3dCurve and the PCurves described in a MultiLine from BRepFill.
|
||||||
//! a MultiLine from BRepFill. The parametrization of
|
//! The parametrization of those curves is not imposed by the Bissectrice.
|
||||||
//! those curves is not imposed by the Bissectrice.
|
//! The parametrization is given approximately by the abscissa of the curve3d.
|
||||||
//! The parametrization is given approximatively by
|
|
||||||
//! the abscissa of the curve3d.
|
|
||||||
class BRepFill_ApproxSeewing
|
class BRepFill_ApproxSeewing
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
DEFINE_STANDARD_ALLOC
|
DEFINE_STANDARD_ALLOC
|
||||||
|
|
||||||
|
|
||||||
Standard_EXPORT BRepFill_ApproxSeewing();
|
Standard_EXPORT BRepFill_ApproxSeewing();
|
||||||
|
|
||||||
Standard_EXPORT BRepFill_ApproxSeewing(const BRepFill_MultiLine& ML);
|
Standard_EXPORT BRepFill_ApproxSeewing(const BRepFill_MultiLine& ML);
|
||||||
@ -59,32 +56,14 @@ public:
|
|||||||
//! first face of the MultiLine
|
//! first face of the MultiLine
|
||||||
Standard_EXPORT const Handle(Geom2d_Curve)& CurveOnF2() const;
|
Standard_EXPORT const Handle(Geom2d_Curve)& CurveOnF2() const;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
BRepFill_MultiLine myML;
|
BRepFill_MultiLine myML;
|
||||||
Standard_Boolean myIsDone;
|
Standard_Boolean myIsDone;
|
||||||
Handle(Geom_Curve) myCurve;
|
Handle(Geom_Curve) myCurve;
|
||||||
Handle(Geom2d_Curve) myPCurve1;
|
Handle(Geom2d_Curve) myPCurve1;
|
||||||
Handle(Geom2d_Curve) myPCurve2;
|
Handle(Geom2d_Curve) myPCurve2;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif // _BRepFill_ApproxSeewing_HeaderFile
|
#endif // _BRepFill_ApproxSeewing_HeaderFile
|
||||||
|
@ -129,7 +129,7 @@ public:
|
|||||||
//! - correspondence between profile, and section on the sweeped shape defined by a vertex of the spine
|
//! - correspondence between profile, and section on the sweeped shape defined by a vertex of the spine
|
||||||
Standard_EXPORT void SetForceApproxC1 (const Standard_Boolean ForceApproxC1);
|
Standard_EXPORT void SetForceApproxC1 (const Standard_Boolean ForceApproxC1);
|
||||||
|
|
||||||
//! Set an section. The correspondence with the spine, will be automaticaly performed.
|
//! Set an section. The correspondence with the spine, will be automatically performed.
|
||||||
Standard_EXPORT void Add (const TopoDS_Shape& Profile, const Standard_Boolean WithContact = Standard_False, const Standard_Boolean WithCorrection = Standard_False);
|
Standard_EXPORT void Add (const TopoDS_Shape& Profile, const Standard_Boolean WithContact = Standard_False, const Standard_Boolean WithCorrection = Standard_False);
|
||||||
|
|
||||||
//! Set an section. The correspondence with the spine, is given by Location.
|
//! Set an section. The correspondence with the spine, is given by Location.
|
||||||
|
@ -146,7 +146,7 @@ public:
|
|||||||
const Standard_Boolean SkipShared = Standard_False,
|
const Standard_Boolean SkipShared = Standard_False,
|
||||||
const Standard_Boolean UseTriangulation = Standard_False);
|
const Standard_Boolean UseTriangulation = Standard_False);
|
||||||
|
|
||||||
//! Updates <SProps> with the shape <S>, that contains its pricipal properties.
|
//! Updates <SProps> with the shape <S>, that contains its principal properties.
|
||||||
//! The surface properties of all the faces in <S> are computed.
|
//! The surface properties of all the faces in <S> are computed.
|
||||||
//! Adaptive 2D Gauss integration is used.
|
//! Adaptive 2D Gauss integration is used.
|
||||||
//! Parameter Eps sets maximal relative error of computed mass (area) for each face.
|
//! Parameter Eps sets maximal relative error of computed mass (area) for each face.
|
||||||
@ -207,7 +207,7 @@ public:
|
|||||||
const Standard_Boolean SkipShared = Standard_False,
|
const Standard_Boolean SkipShared = Standard_False,
|
||||||
const Standard_Boolean UseTriangulation = Standard_False);
|
const Standard_Boolean UseTriangulation = Standard_False);
|
||||||
|
|
||||||
//! Updates <VProps> with the shape <S>, that contains its pricipal properties.
|
//! Updates <VProps> with the shape <S>, that contains its principal properties.
|
||||||
//! The volume properties of all the FORWARD and REVERSED faces in <S> are computed.
|
//! The volume properties of all the FORWARD and REVERSED faces in <S> are computed.
|
||||||
//! If OnlyClosed is True then computed faces must belong to closed Shells.
|
//! If OnlyClosed is True then computed faces must belong to closed Shells.
|
||||||
//! Adaptive 2D Gauss integration is used.
|
//! Adaptive 2D Gauss integration is used.
|
||||||
@ -225,7 +225,7 @@ public:
|
|||||||
const Standard_Real Eps, const Standard_Boolean OnlyClosed = Standard_False,
|
const Standard_Real Eps, const Standard_Boolean OnlyClosed = Standard_False,
|
||||||
const Standard_Boolean SkipShared = Standard_False);
|
const Standard_Boolean SkipShared = Standard_False);
|
||||||
|
|
||||||
//! Updates <VProps> with the shape <S>, that contains its pricipal properties.
|
//! Updates <VProps> with the shape <S>, that contains its principal properties.
|
||||||
//! The volume properties of all the FORWARD and REVERSED faces in <S> are computed.
|
//! The volume properties of all the FORWARD and REVERSED faces in <S> are computed.
|
||||||
//! If OnlyClosed is True then computed faces must belong to closed Shells.
|
//! If OnlyClosed is True then computed faces must belong to closed Shells.
|
||||||
//! Adaptive 2D Gauss integration is used.
|
//! Adaptive 2D Gauss integration is used.
|
||||||
|
@ -225,7 +225,7 @@ void BRepGProp_Face::Normal (const Standard_Real U,
|
|||||||
|
|
||||||
// APO 17.04.2002 (OCC104)
|
// APO 17.04.2002 (OCC104)
|
||||||
// This is functions that calculate coeff. to optimize "integration order".
|
// This is functions that calculate coeff. to optimize "integration order".
|
||||||
//They had been produced experementally for some hard example.
|
// They had been produced experimentally for some hard example.
|
||||||
static Standard_Real AS = -0.15, AL = -0.50, B = 1.0, C = 0.75, D = 0.25;
|
static Standard_Real AS = -0.15, AL = -0.50, B = 1.0, C = 0.75, D = 0.25;
|
||||||
static inline Standard_Real SCoeff(const Standard_Real Eps){
|
static inline Standard_Real SCoeff(const Standard_Real Eps){
|
||||||
return Eps < 0.1? AS*(B+Log10(Eps)) + C: C;
|
return Eps < 0.1? AS*(B+Log10(Eps)) + C: C;
|
||||||
|
@ -58,7 +58,7 @@ public:
|
|||||||
//! surfaces.
|
//! surfaces.
|
||||||
//! Non-adaptive 2D Gauss integration with predefined numbers of Gauss points
|
//! Non-adaptive 2D Gauss integration with predefined numbers of Gauss points
|
||||||
//! is used. Numbers of points depend on types of surfaces and curves.
|
//! is used. Numbers of points depend on types of surfaces and curves.
|
||||||
//! Errror of the computation is not calculated.
|
//! Error of the computation is not calculated.
|
||||||
Standard_EXPORT BRepGProp_Vinert(const BRepGProp_Face& S, const gp_Pnt& VLocation);
|
Standard_EXPORT BRepGProp_Vinert(const BRepGProp_Face& S, const gp_Pnt& VLocation);
|
||||||
|
|
||||||
|
|
||||||
@ -117,7 +117,7 @@ public:
|
|||||||
//! surfaces.
|
//! surfaces.
|
||||||
//! Non-adaptive 2D Gauss integration with predefined numbers of Gauss points
|
//! Non-adaptive 2D Gauss integration with predefined numbers of Gauss points
|
||||||
//! is used. Numbers of points depend on types of surfaces and curves.
|
//! is used. Numbers of points depend on types of surfaces and curves.
|
||||||
//! Errror of the computation is not calculated.
|
//! Error of the computation is not calculated.
|
||||||
Standard_EXPORT BRepGProp_Vinert(BRepGProp_Face& S, BRepGProp_Domain& D, const gp_Pnt& VLocation);
|
Standard_EXPORT BRepGProp_Vinert(BRepGProp_Face& S, BRepGProp_Domain& D, const gp_Pnt& VLocation);
|
||||||
|
|
||||||
|
|
||||||
|
@ -412,7 +412,7 @@ Standard_Boolean BRepTools_Modifier::Rebuild
|
|||||||
{
|
{
|
||||||
// rem dub 16/09/97 : Make constant topology or not make at all.
|
// rem dub 16/09/97 : Make constant topology or not make at all.
|
||||||
// Do not make if CopySurface = 1
|
// Do not make if CopySurface = 1
|
||||||
// Atention, TRUE sewing edges (ReallyClosed)
|
// Attention, TRUE sewing edges (ReallyClosed)
|
||||||
// stay even if CopySurface is true.
|
// stay even if CopySurface is true.
|
||||||
|
|
||||||
// check that edge contains two pcurves on this surface:
|
// check that edge contains two pcurves on this surface:
|
||||||
|
@ -112,17 +112,16 @@ public:
|
|||||||
|
|
||||||
//! Applies the substitutions requests to a shape.
|
//! Applies the substitutions requests to a shape.
|
||||||
//!
|
//!
|
||||||
//! <until> gives the level of type until which requests are taken
|
//! theUntil gives the level of type until which requests are taken into account.
|
||||||
//! into account. For subshapes of the type <until> no rebuild
|
//! For subshapes of the type <until> no rebuild and further exploring are done.
|
||||||
//! and futher exploring are done.
|
|
||||||
//!
|
//!
|
||||||
//! NOTE: each subshape can be replaced by shape of the same type
|
//! NOTE: each subshape can be replaced by shape of the same type
|
||||||
//! or by shape containing only shapes of that type (for
|
//! or by shape containing only shapes of that type
|
||||||
//! example, TopoDS_Edge can be replaced by TopoDS_Edge,
|
//! (for example, TopoDS_Edge can be replaced by TopoDS_Edge,
|
||||||
//! TopoDS_Wire or TopoDS_Compound containing TopoDS_Edges).
|
//! TopoDS_Wire or TopoDS_Compound containing TopoDS_Edges).
|
||||||
//! If incompatible shape type is encountered, it is ignored
|
//! If incompatible shape type is encountered, it is ignored and flag FAIL1 is set in Status.
|
||||||
//! and flag FAIL1 is set in Status.
|
Standard_EXPORT virtual TopoDS_Shape Apply (const TopoDS_Shape& theShape,
|
||||||
Standard_EXPORT virtual TopoDS_Shape Apply (const TopoDS_Shape& shape, const TopAbs_ShapeEnum until = TopAbs_SHAPE);
|
const TopAbs_ShapeEnum theUntil = TopAbs_SHAPE);
|
||||||
|
|
||||||
//! Returns (modifiable) the flag which defines whether Location of shape take into account
|
//! Returns (modifiable) the flag which defines whether Location of shape take into account
|
||||||
//! during replacing shapes.
|
//! during replacing shapes.
|
||||||
|
@ -125,9 +125,9 @@ void BRepTools_Substitution::Build(const TopoDS_Shape& S)
|
|||||||
if (!HasSubShape) {
|
if (!HasSubShape) {
|
||||||
if (NewS.ShapeType() == TopAbs_WIRE || NewS.ShapeType() == TopAbs_SHELL ||
|
if (NewS.ShapeType() == TopAbs_WIRE || NewS.ShapeType() == TopAbs_SHELL ||
|
||||||
NewS.ShapeType() == TopAbs_SOLID || NewS.ShapeType() == TopAbs_COMPOUND)
|
NewS.ShapeType() == TopAbs_SOLID || NewS.ShapeType() == TopAbs_COMPOUND)
|
||||||
//----------------------------------------------------------------
|
//-----------------------------------------------------------------
|
||||||
// Wire,Solid,Shell,Compound mut have subshape else they disapear
|
// Wire,Solid,Shell,Compound must have subshape else they disappear
|
||||||
//---------------------------------------------------------------
|
//-----------------------------------------------------------------
|
||||||
NewS.Nullify();
|
NewS.Nullify();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -524,63 +524,66 @@ public:
|
|||||||
Standard_EXPORT static void IncreaseDegree (const Standard_Integer NewDegree, const TColgp_Array1OfPnt& Poles, const TColStd_Array1OfReal* Weights, TColgp_Array1OfPnt& NewPoles, TColStd_Array1OfReal* NewWeights);
|
Standard_EXPORT static void IncreaseDegree (const Standard_Integer NewDegree, const TColgp_Array1OfPnt& Poles, const TColStd_Array1OfReal* Weights, TColgp_Array1OfPnt& NewPoles, TColStd_Array1OfReal* NewWeights);
|
||||||
|
|
||||||
//! Increase the degree of a bspline (or bezier) curve
|
//! Increase the degree of a bspline (or bezier) curve
|
||||||
//! of dimension <Dimension> form <Degree> to
|
//! of dimension theDimension form theDegree to theNewDegree.
|
||||||
//! <NewDegree>.
|
|
||||||
//!
|
//!
|
||||||
//! The number of poles in the new curve is :
|
//! The number of poles in the new curve is:
|
||||||
|
//! @code
|
||||||
|
//! Poles.Length() + (NewDegree - Degree) * Number of spans
|
||||||
|
//! @endcode
|
||||||
|
//! Where the number of spans is:
|
||||||
|
//! @code
|
||||||
|
//! LastUKnotIndex(Mults) - FirstUKnotIndex(Mults) + 1
|
||||||
|
//! @endcode
|
||||||
|
//! for a non-periodic curve, and
|
||||||
|
//! @code
|
||||||
|
//! Knots.Length() - 1
|
||||||
|
//! @endcode
|
||||||
|
//! for a periodic curve.
|
||||||
//!
|
//!
|
||||||
//! Poles.Length() + (NewDegree - Degree) * Number of spans
|
//! The multiplicities of all knots are increased by the degree elevation.
|
||||||
//!
|
//!
|
||||||
//! Where the number of spans is :
|
//! The new knots are usually the same knots with the
|
||||||
//!
|
//! exception of a non-periodic curve with the first
|
||||||
//! LastUKnotIndex(Mults) - FirstUKnotIndex(Mults) + 1
|
|
||||||
//!
|
|
||||||
//! for a non-periodic curve
|
|
||||||
//!
|
|
||||||
//! And Knots.Length() - 1 for a periodic curve.
|
|
||||||
//!
|
|
||||||
//! The multiplicities of all knots are increased by
|
|
||||||
//! the degree elevation.
|
|
||||||
//!
|
|
||||||
//! The new knots are usually the same knots with the
|
|
||||||
//! exception of a non-periodic curve with the first
|
|
||||||
//! and last multiplicity not equal to Degree+1 where
|
//! and last multiplicity not equal to Degree+1 where
|
||||||
//! knots are removed form the start and the bottom
|
//! knots are removed form the start and the bottom
|
||||||
//! untils the sum of the multiplicities is equal to
|
//! until the sum of the multiplicities is equal to
|
||||||
//! NewDegree+1 at the knots corresponding to the
|
//! NewDegree+1 at the knots corresponding to the
|
||||||
//! first and last parameters of the curve.
|
//! first and last parameters of the curve.
|
||||||
//!
|
//!
|
||||||
//! Example : Suppose a curve of degree 3 starting
|
//! Example: Suppose a curve of degree 3 starting
|
||||||
//! with following knots and multiplicities :
|
//! with following knots and multiplicities:
|
||||||
|
//! @code
|
||||||
|
//! knot : 0. 1. 2.
|
||||||
|
//! mult : 1 2 1
|
||||||
|
//! @endcode
|
||||||
//!
|
//!
|
||||||
//! knot : 0. 1. 2.
|
//! The FirstUKnot is 2.0 because the sum of multiplicities is
|
||||||
//! mult : 1 2 1
|
//! @code
|
||||||
|
//! Degree+1 : 1 + 2 + 1 = 4 = 3 + 1
|
||||||
|
//! @endcode
|
||||||
|
//! i.e. the first parameter of the curve is 2.0 and
|
||||||
|
//! will still be 2.0 after degree elevation.
|
||||||
|
//! Let raise this curve to degree 4.
|
||||||
|
//! The multiplicities are increased by 2.
|
||||||
//!
|
//!
|
||||||
//! The FirstUKnot is 2. because the sum of
|
//! They become 2 3 2.
|
||||||
//! multiplicities is Degree+1 : 1 + 2 + 1 = 4 = 3 + 1
|
//! But we need a sum of multiplicities of 5 at knot 2.
|
||||||
|
//! So the first knot is removed and the new knots are:
|
||||||
|
//! @code
|
||||||
|
//! knot : 1. 2.
|
||||||
|
//! mult : 3 2
|
||||||
|
//! @endcode
|
||||||
|
//! The multipicity of the first knot may also be reduced if the sum is still to big.
|
||||||
//!
|
//!
|
||||||
//! i.e. the first parameter of the curve is 2. and
|
//! In the most common situations (periodic curve or curve with first
|
||||||
//! will still be 2. after degree elevation. Let
|
//! and last multiplicities equals to Degree+1) the knots are knot changes.
|
||||||
//! raises this curve to degree 4. The multiplicities
|
|
||||||
//! are increased by 2.
|
|
||||||
//!
|
//!
|
||||||
//! They become 2 3 2. But we need a sum of
|
//! The method IncreaseDegreeCountKnots can be used to compute the new number of knots.
|
||||||
//! multiplicities of 5 at knot 2. So the first knot
|
Standard_EXPORT static void IncreaseDegree (const Standard_Integer theNewDegree,
|
||||||
//! is removed and the new knots are :
|
const TColgp_Array1OfPnt2d& thePoles,
|
||||||
//!
|
const TColStd_Array1OfReal* theWeights,
|
||||||
//! knot : 1. 2.
|
TColgp_Array1OfPnt2d& theNewPoles,
|
||||||
//! mult : 3 2
|
TColStd_Array1OfReal* theNewWeights);
|
||||||
//!
|
|
||||||
//! The multipicity of the first knot may also be
|
|
||||||
//! reduced if the sum is still to big.
|
|
||||||
//!
|
|
||||||
//! In the most common situations (periodic curve or
|
|
||||||
//! curve with first and last multiplicities equals to
|
|
||||||
//! Degree+1) the knots are knot changes.
|
|
||||||
//!
|
|
||||||
//! The method IncreaseDegreeCountKnots can be used to
|
|
||||||
//! compute the new number of knots.
|
|
||||||
Standard_EXPORT static void IncreaseDegree (const Standard_Integer NewDegree, const TColgp_Array1OfPnt2d& Poles, const TColStd_Array1OfReal* Weights, TColgp_Array1OfPnt2d& NewPoles, TColStd_Array1OfReal* NewWeights);
|
|
||||||
|
|
||||||
//! Set in <NbKnots> and <NbPolesToAdd> the number of Knots and
|
//! Set in <NbKnots> and <NbPolesToAdd> the number of Knots and
|
||||||
//! Poles of the NotPeriodic Curve identical at the
|
//! Poles of the NotPeriodic Curve identical at the
|
||||||
|
@ -31,11 +31,11 @@ class gp_Vec2d;
|
|||||||
class Geom2d_Point;
|
class Geom2d_Point;
|
||||||
|
|
||||||
|
|
||||||
//! Bisec provides the bisecting line between two elements
|
//! Bisec provides the bisecting line between two elements
|
||||||
//! This line is trimed by a point <P> and it's contained in the domain
|
//! This line is trimmed by a point <P> and it's contained in the domain
|
||||||
//! defined by the two vectors <V1>, <V2> and <Sense>.
|
//! defined by the two vectors <V1>, <V2> and <Sense>.
|
||||||
//!
|
//!
|
||||||
//! Definition of the domain:
|
//! Definition of the domain:
|
||||||
//! if <Sense> is true the bisecting line is contained in the sector
|
//! if <Sense> is true the bisecting line is contained in the sector
|
||||||
//! defined by <-V1> and <-V2> in the sense indirect.
|
//! defined by <-V1> and <-V2> in the sense indirect.
|
||||||
//! if <Sense> is false the bisecting line is contained in the sector
|
//! if <Sense> is false the bisecting line is contained in the sector
|
||||||
@ -47,7 +47,7 @@ class Geom2d_Point;
|
|||||||
//! corresponding to one of hyperbola's axes.
|
//! corresponding to one of hyperbola's axes.
|
||||||
//! if the bisector is a parabola on the focal length is smaller than
|
//! if the bisector is a parabola on the focal length is smaller than
|
||||||
//! <Tolerance>, the bisector is replaced by a semi_line corresponding
|
//! <Tolerance>, the bisector is replaced by a semi_line corresponding
|
||||||
//! to the axe of symetrie of the parabola.
|
//! to the axe of symmetry of the parabola.
|
||||||
//! if the bisector is an ellipse and the minor radius is smaller than
|
//! if the bisector is an ellipse and the minor radius is smaller than
|
||||||
//! <Tolerance>, the bisector is replaced by a segment corresponding
|
//! <Tolerance>, the bisector is replaced by a segment corresponding
|
||||||
//! to the great axe of the ellipse.
|
//! to the great axe of the ellipse.
|
||||||
|
@ -49,7 +49,7 @@ static Standard_Integer nbint = 0;
|
|||||||
|
|
||||||
//===================================================================================
|
//===================================================================================
|
||||||
// function :
|
// function :
|
||||||
// putpose :
|
// purpose :
|
||||||
//===================================================================================
|
//===================================================================================
|
||||||
Bisector_Inter::Bisector_Inter()
|
Bisector_Inter::Bisector_Inter()
|
||||||
{
|
{
|
||||||
@ -57,7 +57,7 @@ Bisector_Inter::Bisector_Inter()
|
|||||||
|
|
||||||
//===================================================================================
|
//===================================================================================
|
||||||
// function :
|
// function :
|
||||||
// putpose :
|
// purpose :
|
||||||
//===================================================================================
|
//===================================================================================
|
||||||
Bisector_Inter::Bisector_Inter(const Bisector_Bisec& C1,
|
Bisector_Inter::Bisector_Inter(const Bisector_Bisec& C1,
|
||||||
const IntRes2d_Domain& D1,
|
const IntRes2d_Domain& D1,
|
||||||
@ -72,7 +72,7 @@ Bisector_Inter::Bisector_Inter(const Bisector_Bisec& C1,
|
|||||||
|
|
||||||
//===================================================================================
|
//===================================================================================
|
||||||
// function : ConstructSegment
|
// function : ConstructSegment
|
||||||
// putpose :
|
// purpose :
|
||||||
//===================================================================================
|
//===================================================================================
|
||||||
static Handle(Geom2d_Line) ConstructSegment(const gp_Pnt2d& PMin,
|
static Handle(Geom2d_Line) ConstructSegment(const gp_Pnt2d& PMin,
|
||||||
const gp_Pnt2d& PMax,
|
const gp_Pnt2d& PMax,
|
||||||
@ -88,7 +88,7 @@ static Handle(Geom2d_Line) ConstructSegment(const gp_Pnt2d& PMin,
|
|||||||
|
|
||||||
//===================================================================================
|
//===================================================================================
|
||||||
// function : Perform
|
// function : Perform
|
||||||
// putpose :
|
// purpose :
|
||||||
//===================================================================================
|
//===================================================================================
|
||||||
void Bisector_Inter::Perform(const Bisector_Bisec& C1,
|
void Bisector_Inter::Perform(const Bisector_Bisec& C1,
|
||||||
const IntRes2d_Domain& D1,
|
const IntRes2d_Domain& D1,
|
||||||
@ -208,7 +208,7 @@ void Bisector_Inter::Perform(const Bisector_Bisec& C1,
|
|||||||
|
|
||||||
//===================================================================================
|
//===================================================================================
|
||||||
// function : SinglePerform
|
// function : SinglePerform
|
||||||
// putpose :
|
// purpose :
|
||||||
//===================================================================================
|
//===================================================================================
|
||||||
void Bisector_Inter::SinglePerform(const Handle(Geom2d_Curve)& CBis1,
|
void Bisector_Inter::SinglePerform(const Handle(Geom2d_Curve)& CBis1,
|
||||||
const IntRes2d_Domain& D1,
|
const IntRes2d_Domain& D1,
|
||||||
@ -308,7 +308,7 @@ void Bisector_Inter::SinglePerform(const Handle(Geom2d_Curve)& CBis1,
|
|||||||
|
|
||||||
//===================================================================================
|
//===================================================================================
|
||||||
// function : NeighbourPerform
|
// function : NeighbourPerform
|
||||||
// putpose : Find the intersection of 2 neighbor bissectrices curve/curve
|
// purpose : Find the intersection of 2 neighbor bissectrices curve/curve
|
||||||
// (ie Bis1 separates A and B and Bis2 separates B and C).
|
// (ie Bis1 separates A and B and Bis2 separates B and C).
|
||||||
// Bis1 is parameterized by B and Bis2 by C.
|
// Bis1 is parameterized by B and Bis2 by C.
|
||||||
//
|
//
|
||||||
@ -371,7 +371,7 @@ void Bisector_Inter::NeighbourPerform(const Handle(Bisector_BisecCC)& Bis1,
|
|||||||
|
|
||||||
//=====================================================================================
|
//=====================================================================================
|
||||||
// function : TestBound
|
// function : TestBound
|
||||||
// putpose : Test if the extremities of Bis2 are on the segment cooresponding to Bis1.
|
// purpose : Test if the extremities of Bis2 are on the segment corresponding to Bis1.
|
||||||
//=====================================================================================
|
//=====================================================================================
|
||||||
void Bisector_Inter::TestBound (const Handle(Geom2d_Line)& Bis1,
|
void Bisector_Inter::TestBound (const Handle(Geom2d_Line)& Bis1,
|
||||||
const IntRes2d_Domain& D1,
|
const IntRes2d_Domain& D1,
|
||||||
|
@ -137,7 +137,7 @@ public:
|
|||||||
PCDM_ReaderStatus GetRetrieveStatus() const { return myRetrievableStatus; }
|
PCDM_ReaderStatus GetRetrieveStatus() const { return myRetrievableStatus; }
|
||||||
|
|
||||||
//! Reads aDoc from standard SEEKABLE stream theIStream,
|
//! Reads aDoc from standard SEEKABLE stream theIStream,
|
||||||
//! the stream should support SEEK fuctionality
|
//! the stream should support SEEK functionality
|
||||||
Standard_EXPORT Handle(CDM_Document) Read
|
Standard_EXPORT Handle(CDM_Document) Read
|
||||||
(Standard_IStream& theIStream,
|
(Standard_IStream& theIStream,
|
||||||
const Message_ProgressRange& theRange = Message_ProgressRange());
|
const Message_ProgressRange& theRange = Message_ProgressRange());
|
||||||
|
@ -776,7 +776,7 @@ Standard_Boolean ChFi3d_Builder::StoreData(Handle(ChFiDS_SurfData)& Data,
|
|||||||
|
|
||||||
if(!ChFi3d_CheckSameParameter(checkcurve,PCurveOnFace,S1,tolC1,tolcheck)){
|
if(!ChFi3d_CheckSameParameter(checkcurve,PCurveOnFace,S1,tolC1,tolcheck)){
|
||||||
#ifdef OCCT_DEBUG
|
#ifdef OCCT_DEBUG
|
||||||
std::cout<<"aaproximate tolerance under-valued : "<<tolC1<<" for "<<tolcheck<<std::endl;
|
std::cout<<"approximate tolerance under-valued : "<<tolC1<<" for "<<tolcheck<<std::endl;
|
||||||
#endif
|
#endif
|
||||||
tolC1 = tolcheck;
|
tolC1 = tolcheck;
|
||||||
}
|
}
|
||||||
|
@ -272,7 +272,7 @@ Standard_Boolean FairCurve_MinimalVariation::Compute(const gp_Vec2d& DeltaP1,
|
|||||||
Angle1 = Ox.Angle(P1P2) + Alph1;
|
Angle1 = Ox.Angle(P1P2) + Alph1;
|
||||||
Angle2 = -Ox.Angle(P1P2) + Alph2;
|
Angle2 = -Ox.Angle(P1P2) + Alph2;
|
||||||
|
|
||||||
// Calculation of the length of sliding (imposed or intial);
|
// Calculation of the length of sliding (imposed or initial);
|
||||||
|
|
||||||
if (!NewFreeSliding) {
|
if (!NewFreeSliding) {
|
||||||
SlidingLength = NewSlidingFactor * LReference;
|
SlidingLength = NewSlidingFactor * LReference;
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
#include <gp_Vec2d.hxx>
|
#include <gp_Vec2d.hxx>
|
||||||
|
|
||||||
//=========================================================================
|
//=========================================================================
|
||||||
// Creation d une translation 3d de Geom2d de vecteur de tanslation Vec. +
|
// Creation d une translation 3d de Geom2d de vecteur de translation Vec
|
||||||
//=========================================================================
|
//=========================================================================
|
||||||
GCE2d_MakeTranslation::GCE2d_MakeTranslation(const gp_Vec2d& Vec ) {
|
GCE2d_MakeTranslation::GCE2d_MakeTranslation(const gp_Vec2d& Vec ) {
|
||||||
TheTranslation = new Geom2d_Transformation();
|
TheTranslation = new Geom2d_Transformation();
|
||||||
@ -29,7 +29,7 @@ GCE2d_MakeTranslation::GCE2d_MakeTranslation(const gp_Vec2d& Vec ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//=========================================================================
|
//=========================================================================
|
||||||
// Creation d une translation 3d de Geom2d de vecteur de tanslation le +
|
// Creation d une translation 3d de Geom2d de vecteur de translation le +
|
||||||
// vecteur reliant Point1 a Point2. +
|
// vecteur reliant Point1 a Point2. +
|
||||||
//=========================================================================
|
//=========================================================================
|
||||||
|
|
||||||
|
@ -63,9 +63,15 @@ DEFINE_STANDARD_HANDLE(Geom_ConicalSurface, Geom_ElementarySurface)
|
|||||||
//! - Its "main Direction" is the v parametric direction of the cone.
|
//! - Its "main Direction" is the v parametric direction of the cone.
|
||||||
//! - Its origin is the origin of the v parameter.
|
//! - Its origin is the origin of the v parameter.
|
||||||
//! The parametric range of the two parameters is:
|
//! The parametric range of the two parameters is:
|
||||||
//! - [ 0, 2.*Pi ] for u, and - ] -infinity, +infinity [ for v
|
//! @code
|
||||||
//! The parametric equation of the cone is: P(u, v) =
|
//! - [ 0, 2.*Pi ] for u, and
|
||||||
//! O + (R + v*sin(Ang)) * (cos(u)*XDir + sin(u)*YDir) + v*cos(Ang)*ZDir where:
|
//! - ] -infinity, +infinity [ for v
|
||||||
|
//! @endcode
|
||||||
|
//! The parametric equation of the cone is:
|
||||||
|
//! @code
|
||||||
|
//! P(u, v) = O + (R + v*sin(Ang)) * (cos(u)*XDir + sin(u)*YDir) + v*cos(Ang)*ZDir
|
||||||
|
//! @endcode
|
||||||
|
//! where:
|
||||||
//! - O, XDir, YDir and ZDir are respectively
|
//! - O, XDir, YDir and ZDir are respectively
|
||||||
//! the origin, the "X Direction", the "Y Direction" and
|
//! the origin, the "X Direction", the "Y Direction" and
|
||||||
//! the "Z Direction" of the cone's local coordinate system,
|
//! the "Z Direction" of the cone's local coordinate system,
|
||||||
@ -96,22 +102,17 @@ public:
|
|||||||
Standard_EXPORT Geom_ConicalSurface(const gp_Ax3& A3, const Standard_Real Ang, const Standard_Real Radius);
|
Standard_EXPORT Geom_ConicalSurface(const gp_Ax3& A3, const Standard_Real Ang, const Standard_Real Radius);
|
||||||
|
|
||||||
|
|
||||||
//! Creates a ConicalSurface from a non transient Cone from
|
//! Creates a ConicalSurface from a non transient gp_Cone.
|
||||||
//! package gp.
|
|
||||||
Standard_EXPORT Geom_ConicalSurface(const gp_Cone& C);
|
Standard_EXPORT Geom_ConicalSurface(const gp_Cone& C);
|
||||||
|
|
||||||
|
|
||||||
//! Set <me> so that <me> has the same geometric properties as C.
|
//! Set <me> so that <me> has the same geometric properties as C.
|
||||||
Standard_EXPORT void SetCone (const gp_Cone& C);
|
Standard_EXPORT void SetCone (const gp_Cone& C);
|
||||||
|
|
||||||
|
//! Changes the radius of the conical surface in the placement plane (Z = 0, V = 0).
|
||||||
//! Changes the radius of the conical surface in the placement
|
//! The local coordinate system is not modified.
|
||||||
//! plane (Z = 0, V = 0). The local coordinate system is not
|
|
||||||
//! modified.
|
|
||||||
//! Raised if R < 0.0
|
//! Raised if R < 0.0
|
||||||
Standard_EXPORT void SetRadius (const Standard_Real R);
|
Standard_EXPORT void SetRadius (const Standard_Real R);
|
||||||
|
|
||||||
|
|
||||||
//! Changes the semi angle of the conical surface.
|
//! Changes the semi angle of the conical surface.
|
||||||
//! Semi-angle can be negative. Its absolute value
|
//! Semi-angle can be negative. Its absolute value
|
||||||
//! Abs(Ang) is in range ]0,PI/2[.
|
//! Abs(Ang) is in range ]0,PI/2[.
|
||||||
@ -119,63 +120,57 @@ public:
|
|||||||
//! Abs(Ang) >= PI/2 - Resolution
|
//! Abs(Ang) >= PI/2 - Resolution
|
||||||
Standard_EXPORT void SetSemiAngle(const Standard_Real Ang);
|
Standard_EXPORT void SetSemiAngle(const Standard_Real Ang);
|
||||||
|
|
||||||
|
//! Returns a non transient cone with the same geometric properties as <me>.
|
||||||
//! returns a non transient cone with the same geometric properties
|
|
||||||
//! as <me>.
|
|
||||||
Standard_EXPORT gp_Cone Cone() const;
|
Standard_EXPORT gp_Cone Cone() const;
|
||||||
|
|
||||||
//! return 2.PI - U.
|
//! Eeturn 2.PI - U.
|
||||||
Standard_EXPORT Standard_Real UReversedParameter (const Standard_Real U) const Standard_OVERRIDE;
|
Standard_EXPORT Standard_Real UReversedParameter (const Standard_Real U) const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Computes the u (or v) parameter on the modified
|
//! Computes the u (or v) parameter on the modified surface,
|
||||||
//! surface, when reversing its u (or v) parametric
|
//! when reversing its u (or v) parametric direction,
|
||||||
//! direction, for any point of u parameter U (or of v
|
//! for any point of u parameter U (or of v parameter V) on this cone.
|
||||||
//! parameter V) on this cone.
|
|
||||||
//! In the case of a cone, these functions return respectively:
|
//! In the case of a cone, these functions return respectively:
|
||||||
//! - 2.*Pi - U, -V.
|
//! - 2.*Pi - U, -V.
|
||||||
Standard_EXPORT Standard_Real VReversedParameter (const Standard_Real V) const Standard_OVERRIDE;
|
Standard_EXPORT Standard_Real VReversedParameter (const Standard_Real V) const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Changes the orientation of this cone in the v
|
//! Changes the orientation of this cone in the v parametric direction.
|
||||||
//! parametric direction. The bounds of the surface are
|
//! The bounds of the surface are not changed but the v parametric direction is reversed.
|
||||||
//! not changed but the v parametric direction is reversed.
|
|
||||||
//! As a consequence, for a cone:
|
//! As a consequence, for a cone:
|
||||||
//! - the "main Direction" of the local coordinate system
|
//! - the "main Direction" of the local coordinate system
|
||||||
//! is reversed, and
|
//! is reversed, and
|
||||||
//! - the half-angle at the apex is inverted.
|
//! - the half-angle at the apex is inverted.
|
||||||
Standard_EXPORT virtual void VReverse() Standard_OVERRIDE;
|
Standard_EXPORT virtual void VReverse() Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Computes the parameters on the transformed surface for
|
//! Computes the parameters on the transformed surface for
|
||||||
//! the transform of the point of parameters U,V on <me>.
|
//! the transform of the point of parameters U,V on <me>.
|
||||||
//!
|
//! @code
|
||||||
//! me->Transformed(T)->Value(U',V')
|
//! me->Transformed(T)->Value(U',V')
|
||||||
//!
|
//! @endcode
|
||||||
//! is the same point as
|
//! is the same point as
|
||||||
//!
|
//! @code
|
||||||
//! me->Value(U,V).Transformed(T)
|
//! me->Value(U,V).Transformed(T)
|
||||||
//!
|
//! @endcode
|
||||||
//! Where U',V' are the new values of U,V after calling
|
//! Where U',V' are the new values of U,V after calling
|
||||||
//!
|
//! @code
|
||||||
//! me->TranformParameters(U,V,T)
|
//! me->TransformParameters(U,V,T)
|
||||||
//!
|
//! @endcode
|
||||||
//! This methods multiplies V by T.ScaleFactor()
|
//! This method multiplies V by T.ScaleFactor()
|
||||||
Standard_EXPORT virtual void TransformParameters (Standard_Real& U, Standard_Real& V, const gp_Trsf& T) const Standard_OVERRIDE;
|
Standard_EXPORT virtual void TransformParameters (Standard_Real& U, Standard_Real& V, const gp_Trsf& T) const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Returns a 2d transformation used to find the new
|
//! Returns a 2d transformation used to find the new
|
||||||
//! parameters of a point on the transformed surface.
|
//! parameters of a point on the transformed surface.
|
||||||
//!
|
//! @code
|
||||||
//! me->Transformed(T)->Value(U',V')
|
//! me->Transformed(T)->Value(U',V')
|
||||||
//!
|
//! @endcode
|
||||||
//! is the same point as
|
//! is the same point as
|
||||||
//!
|
//! @code
|
||||||
//! me->Value(U,V).Transformed(T)
|
//! me->Value(U,V).Transformed(T)
|
||||||
//!
|
//! @endcode
|
||||||
//! Where U',V' are obtained by transforming U,V with
|
//! Where U',V' are obtained by transforming U,V with the 2d transformation returned by
|
||||||
//! th 2d transformation returned by
|
//! @code
|
||||||
//!
|
//! me->ParametricTransformation(T)
|
||||||
//! me->ParametricTransformation(T)
|
//! @endcode
|
||||||
//!
|
//! This method returns a scale centered on the U axis with T.ScaleFactor
|
||||||
//! This methods returns a scale centered on the
|
|
||||||
//! U axis with T.ScaleFactor
|
|
||||||
Standard_EXPORT virtual gp_GTrsf2d ParametricTransformation (const gp_Trsf& T) const Standard_OVERRIDE;
|
Standard_EXPORT virtual gp_GTrsf2d ParametricTransformation (const gp_Trsf& T) const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Computes the apex of this cone. It is on the negative
|
//! Computes the apex of this cone. It is on the negative
|
||||||
@ -184,18 +179,17 @@ public:
|
|||||||
//! side of the "main Axis" if the half-angle is negative.
|
//! side of the "main Axis" if the half-angle is negative.
|
||||||
Standard_EXPORT gp_Pnt Apex() const;
|
Standard_EXPORT gp_Pnt Apex() const;
|
||||||
|
|
||||||
|
|
||||||
//! The conical surface is infinite in the V direction so
|
//! The conical surface is infinite in the V direction so
|
||||||
//! V1 = Realfirst from Standard and V2 = RealLast.
|
//! V1 = Realfirst from Standard and V2 = RealLast.
|
||||||
//! U1 = 0 and U2 = 2*PI.
|
//! U1 = 0 and U2 = 2*PI.
|
||||||
Standard_EXPORT void Bounds (Standard_Real& U1, Standard_Real& U2, Standard_Real& V1, Standard_Real& V2) const Standard_OVERRIDE;
|
Standard_EXPORT void Bounds (Standard_Real& U1, Standard_Real& U2, Standard_Real& V1, Standard_Real& V2) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! Returns the coefficients of the implicit equation of the
|
//! Returns the coefficients of the implicit equation of the
|
||||||
//! quadric in the absolute cartesian coordinate system :
|
//! quadric in the absolute cartesian coordinate system :
|
||||||
//! These coefficients are normalized.
|
//! These coefficients are normalized.
|
||||||
//! A1.X**2 + A2.Y**2 + A3.Z**2 + 2.(B1.X.Y + B2.X.Z + B3.Y.Z) +
|
//! @code
|
||||||
//! 2.(C1.X + C2.Y + C3.Z) + D = 0.0
|
//! A1.X**2 + A2.Y**2 + A3.Z**2 + 2.(B1.X.Y + B2.X.Z + B3.Y.Z) + 2.(C1.X + C2.Y + C3.Z) + D = 0.0
|
||||||
|
//! @endcode
|
||||||
Standard_EXPORT void Coefficients (Standard_Real& A1, Standard_Real& A2, Standard_Real& A3, Standard_Real& B1, Standard_Real& B2, Standard_Real& B3, Standard_Real& C1, Standard_Real& C2, Standard_Real& C3, Standard_Real& D) const;
|
Standard_EXPORT void Coefficients (Standard_Real& A1, Standard_Real& A2, Standard_Real& A3, Standard_Real& B1, Standard_Real& B2, Standard_Real& B3, Standard_Real& C1, Standard_Real& C2, Standard_Real& C3, Standard_Real& D) const;
|
||||||
|
|
||||||
//! Returns the reference radius of this cone.
|
//! Returns the reference radius of this cone.
|
||||||
@ -208,7 +202,6 @@ public:
|
|||||||
//! coordinate system of this cone, the returned value is 0.
|
//! coordinate system of this cone, the returned value is 0.
|
||||||
Standard_EXPORT Standard_Real RefRadius() const;
|
Standard_EXPORT Standard_Real RefRadius() const;
|
||||||
|
|
||||||
|
|
||||||
//! Returns the semi-angle at the apex of this cone.
|
//! Returns the semi-angle at the apex of this cone.
|
||||||
//! Attention! Semi-angle can be negative.
|
//! Attention! Semi-angle can be negative.
|
||||||
Standard_EXPORT Standard_Real SemiAngle() const;
|
Standard_EXPORT Standard_Real SemiAngle() const;
|
||||||
@ -225,45 +218,39 @@ public:
|
|||||||
//! Returns False.
|
//! Returns False.
|
||||||
Standard_EXPORT Standard_Boolean IsVPeriodic() const Standard_OVERRIDE;
|
Standard_EXPORT Standard_Boolean IsVPeriodic() const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Builds the U isoparametric line of this cone. The
|
//! Builds the U isoparametric line of this cone.
|
||||||
//! origin of this line is on the reference plane of this
|
//! The origin of this line is on the reference plane of this cone
|
||||||
//! cone (i.e. the plane defined by the origin, "X Direction"
|
//! (i.e. the plane defined by the origin, "X Direction"
|
||||||
//! and "Y Direction" of the local coordinate system of this cone).
|
//! and "Y Direction" of the local coordinate system of this cone).
|
||||||
Standard_EXPORT Handle(Geom_Curve) UIso (const Standard_Real U) const Standard_OVERRIDE;
|
Standard_EXPORT Handle(Geom_Curve) UIso (const Standard_Real U) const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Builds the V isoparametric circle of this cone. It is the
|
//! Builds the V isoparametric circle of this cone.
|
||||||
//! circle on this cone, located in the plane of Z
|
//! It is the circle on this cone, located in the plane of Z
|
||||||
//! coordinate V*cos(Semi-Angle) in the local coordinate system of this
|
//! coordinate V*cos(Semi-Angle) in the local coordinate system of this cone.
|
||||||
//! cone. The "Axis" of this circle is the axis of revolution
|
//! The "Axis" of this circle is the axis of revolution of this cone.
|
||||||
//! of this cone. Its starting point is defined by the "X
|
//! Its starting point is defined by the "X Direction" of this cone.
|
||||||
//! Direction" of this cone.
|
|
||||||
//! Warning
|
//! Warning
|
||||||
//! If the V isoparametric circle is close to the apex of
|
//! If the V isoparametric circle is close to the apex of
|
||||||
//! this cone, the radius of the circle becomes very small.
|
//! this cone, the radius of the circle becomes very small.
|
||||||
//! It is possible to have a circle with radius equal to 0.0.
|
//! It is possible to have a circle with radius equal to 0.0.
|
||||||
Standard_EXPORT Handle(Geom_Curve) VIso (const Standard_Real V) const Standard_OVERRIDE;
|
Standard_EXPORT Handle(Geom_Curve) VIso (const Standard_Real V) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
//! Computes the point P (U, V) on the surface.
|
||||||
//! Computes the point P (U, V) on the surface.
|
//! @code
|
||||||
//! P (U, V) = Loc +
|
//! P (U, V) = Loc +
|
||||||
//! (RefRadius + V * sin (Semi-Angle)) * (cos (U) * XDir + sin (U) * YDir) +
|
//! (RefRadius + V * sin (Semi-Angle)) * (cos (U) * XDir + sin (U) * YDir) +
|
||||||
//! V * cos (Semi-Angle) * ZDir
|
//! V * cos (Semi-Angle) * ZDir
|
||||||
|
//! @endcode
|
||||||
//! where Loc is the origin of the placement plane (XAxis, YAxis)
|
//! where Loc is the origin of the placement plane (XAxis, YAxis)
|
||||||
//! XDir is the direction of the XAxis and YDir the direction of
|
//! XDir is the direction of the XAxis and YDir the direction of the YAxis.
|
||||||
//! the YAxis.
|
|
||||||
Standard_EXPORT void D0 (const Standard_Real U, const Standard_Real V, gp_Pnt& P) const Standard_OVERRIDE;
|
Standard_EXPORT void D0 (const Standard_Real U, const Standard_Real V, gp_Pnt& P) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
//! Computes the current point and the first derivatives in the directions U and V.
|
||||||
//! Computes the current point and the first derivatives in the
|
|
||||||
//! directions U and V.
|
|
||||||
Standard_EXPORT void D1 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V) const Standard_OVERRIDE;
|
Standard_EXPORT void D1 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
//! Computes the current point, the first and the second derivatives in the directions U and V.
|
||||||
//! Computes the current point, the first and the second derivatives
|
|
||||||
//! in the directions U and V.
|
|
||||||
Standard_EXPORT void D2 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V, gp_Vec& D2U, gp_Vec& D2V, gp_Vec& D2UV) const Standard_OVERRIDE;
|
Standard_EXPORT void D2 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V, gp_Vec& D2U, gp_Vec& D2V, gp_Vec& D2UV) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! Computes the current point, the first,the second and the third
|
//! Computes the current point, the first,the second and the third
|
||||||
//! derivatives in the directions U and V.
|
//! derivatives in the directions U and V.
|
||||||
Standard_EXPORT void D3 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V, gp_Vec& D2U, gp_Vec& D2V, gp_Vec& D2UV, gp_Vec& D3U, gp_Vec& D3V, gp_Vec& D3UUV, gp_Vec& D3UVV) const Standard_OVERRIDE;
|
Standard_EXPORT void D3 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V, gp_Vec& D2U, gp_Vec& D2V, gp_Vec& D2UV, gp_Vec& D3U, gp_Vec& D3V, gp_Vec& D3UUV, gp_Vec& D3UVV) const Standard_OVERRIDE;
|
||||||
@ -282,33 +269,16 @@ public:
|
|||||||
|
|
||||||
//! Creates a new object which is a copy of this cone.
|
//! Creates a new object which is a copy of this cone.
|
||||||
Standard_EXPORT Handle(Geom_Geometry) Copy() const Standard_OVERRIDE;
|
Standard_EXPORT Handle(Geom_Geometry) Copy() const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Dumps the content of me into the stream
|
//! Dumps the content of me into the stream
|
||||||
Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, Standard_Integer theDepth = -1) const Standard_OVERRIDE;
|
Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, Standard_Integer theDepth = -1) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
DEFINE_STANDARD_RTTIEXT(Geom_ConicalSurface,Geom_ElementarySurface)
|
DEFINE_STANDARD_RTTIEXT(Geom_ConicalSurface,Geom_ElementarySurface)
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
|
||||||
Standard_Real radius;
|
Standard_Real radius;
|
||||||
Standard_Real semiAngle;
|
Standard_Real semiAngle;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif // _Geom_ConicalSurface_HeaderFile
|
#endif // _Geom_ConicalSurface_HeaderFile
|
||||||
|
@ -42,7 +42,9 @@ DEFINE_STANDARD_HANDLE(Geom_CylindricalSurface, Geom_ElementarySurface)
|
|||||||
//! This class defines the infinite cylindrical surface.
|
//! This class defines the infinite cylindrical surface.
|
||||||
//!
|
//!
|
||||||
//! Every cylindrical surface is set by the following equation:
|
//! Every cylindrical surface is set by the following equation:
|
||||||
//! S(U,V) = Location + R*cos(U)*XAxis + R*sin(U)*YAxis + V*ZAxis,
|
//! @code
|
||||||
|
//! S(U,V) = Location + R*cos(U)*XAxis + R*sin(U)*YAxis + V*ZAxis,
|
||||||
|
//! @endcode
|
||||||
//! where R is cylinder radius.
|
//! where R is cylinder radius.
|
||||||
//!
|
//!
|
||||||
//! The local coordinate system of the CylindricalSurface is defined
|
//! The local coordinate system of the CylindricalSurface is defined
|
||||||
@ -52,7 +54,9 @@ DEFINE_STANDARD_HANDLE(Geom_CylindricalSurface, Geom_ElementarySurface)
|
|||||||
//! it gives the direction of increasing parametric value V.
|
//! it gives the direction of increasing parametric value V.
|
||||||
//!
|
//!
|
||||||
//! The parametrization range is :
|
//! The parametrization range is :
|
||||||
//! U [0, 2*PI], V ]- infinite, + infinite[
|
//! @code
|
||||||
|
//! U [0, 2*PI], V ]- infinite, + infinite[
|
||||||
|
//! @endcode
|
||||||
//!
|
//!
|
||||||
//! The "XAxis" and the "YAxis" define the placement plane of the
|
//! The "XAxis" and the "YAxis" define the placement plane of the
|
||||||
//! surface (Z = 0, and parametric value V = 0) perpendicular to
|
//! surface (Z = 0, and parametric value V = 0) perpendicular to
|
||||||
@ -71,26 +75,20 @@ class Geom_CylindricalSurface : public Geom_ElementarySurface
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//! A3 defines the local coordinate system of the cylindrical surface.
|
//! A3 defines the local coordinate system of the cylindrical surface.
|
||||||
//! The "ZDirection" of A3 defines the direction of the surface's
|
//! The "ZDirection" of A3 defines the direction of the surface's axis of symmetry.
|
||||||
//! axis of symmetry.
|
|
||||||
//! At the creation the parametrization of the surface is defined
|
//! At the creation the parametrization of the surface is defined
|
||||||
//! such that the normal Vector (N = D1U ^ D1V) is oriented towards
|
//! such that the normal Vector (N = D1U ^ D1V) is oriented towards
|
||||||
//! the "outside region" of the surface.
|
//! the "outside region" of the surface.
|
||||||
//! Warnings :
|
//! Warnings:
|
||||||
//! It is not forbidden to create a cylindrical surface with
|
//! It is not forbidden to create a cylindrical surface with
|
||||||
//! Radius = 0.0
|
//! Radius = 0.0
|
||||||
//! Raised if Radius < 0.0
|
//! Raised if Radius < 0.0
|
||||||
Standard_EXPORT Geom_CylindricalSurface(const gp_Ax3& A3, const Standard_Real Radius);
|
Standard_EXPORT Geom_CylindricalSurface(const gp_Ax3& A3, const Standard_Real Radius);
|
||||||
|
|
||||||
|
//! Creates a CylindricalSurface from a non transient gp_Cylinder.
|
||||||
//! Creates a CylindricalSurface from a non transient Cylinder
|
|
||||||
//! from package gp.
|
|
||||||
Standard_EXPORT Geom_CylindricalSurface(const gp_Cylinder& C);
|
Standard_EXPORT Geom_CylindricalSurface(const gp_Cylinder& C);
|
||||||
|
|
||||||
|
|
||||||
//! Set <me> so that <me> has the same geometric properties as C.
|
//! Set <me> so that <me> has the same geometric properties as C.
|
||||||
Standard_EXPORT void SetCylinder (const gp_Cylinder& C);
|
Standard_EXPORT void SetCylinder (const gp_Cylinder& C);
|
||||||
|
|
||||||
@ -98,9 +96,7 @@ public:
|
|||||||
//! Raised if R < 0.0
|
//! Raised if R < 0.0
|
||||||
Standard_EXPORT void SetRadius (const Standard_Real R);
|
Standard_EXPORT void SetRadius (const Standard_Real R);
|
||||||
|
|
||||||
|
//! returns a non transient cylinder with the same geometric properties as <me>.
|
||||||
//! returns a non transient cylinder with the same geometric
|
|
||||||
//! properties as <me>.
|
|
||||||
Standard_EXPORT gp_Cylinder Cylinder() const;
|
Standard_EXPORT gp_Cylinder Cylinder() const;
|
||||||
|
|
||||||
//! Return the parameter on the Ureversed surface for
|
//! Return the parameter on the Ureversed surface for
|
||||||
@ -115,38 +111,47 @@ public:
|
|||||||
|
|
||||||
//! Computes the parameters on the transformed surface for
|
//! Computes the parameters on the transformed surface for
|
||||||
//! the transform of the point of parameters U,V on <me>.
|
//! the transform of the point of parameters U,V on <me>.
|
||||||
//! me->Transformed(T)->Value(U',V')
|
//! @code
|
||||||
|
//! me->Transformed(T)->Value(U',V')
|
||||||
|
//! @endcode
|
||||||
//! is the same point as
|
//! is the same point as
|
||||||
//! me->Value(U,V).Transformed(T)
|
//! @code
|
||||||
|
//! me->Value(U,V).Transformed(T)
|
||||||
|
//! @endcode
|
||||||
//! Where U',V' are the new values of U,V after calling
|
//! Where U',V' are the new values of U,V after calling
|
||||||
//! me->TranformParameters(U,V,T)
|
//! @code
|
||||||
//! This methods multiplies V by T.ScaleFactor()
|
//! me->TransformParameters(U,V,T)
|
||||||
|
//! @endcode
|
||||||
|
//! This method multiplies V by T.ScaleFactor()
|
||||||
Standard_EXPORT virtual void TransformParameters (Standard_Real& U, Standard_Real& V, const gp_Trsf& T) const Standard_OVERRIDE;
|
Standard_EXPORT virtual void TransformParameters (Standard_Real& U, Standard_Real& V, const gp_Trsf& T) const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Returns a 2d transformation used to find the new
|
//! Returns a 2d transformation used to find the new
|
||||||
//! parameters of a point on the transformed surface.
|
//! parameters of a point on the transformed surface.
|
||||||
//! me->Transformed(T)->Value(U',V')
|
//! @code
|
||||||
|
//! me->Transformed(T)->Value(U',V')
|
||||||
|
//! @endcode
|
||||||
//! is the same point as
|
//! is the same point as
|
||||||
//! me->Value(U,V).Transformed(T)
|
//! @code
|
||||||
//! Where U',V' are obtained by transforming U,V with
|
//! me->Value(U,V).Transformed(T)
|
||||||
//! th 2d transformation returned by
|
//! @endcode
|
||||||
//! me->ParametricTransformation(T)
|
//! Where U',V' are obtained by transforming U,V with the 2d transformation returned by
|
||||||
//! This methods returns a scale centered on the
|
//! @code
|
||||||
//! U axis with T.ScaleFactor
|
//! me->ParametricTransformation(T)
|
||||||
|
//! @endcode
|
||||||
|
//! This method returns a scale centered on the U axis with T.ScaleFactor
|
||||||
Standard_EXPORT virtual gp_GTrsf2d ParametricTransformation (const gp_Trsf& T) const Standard_OVERRIDE;
|
Standard_EXPORT virtual gp_GTrsf2d ParametricTransformation (const gp_Trsf& T) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! The CylindricalSurface is infinite in the V direction so
|
//! The CylindricalSurface is infinite in the V direction so
|
||||||
//! V1 = Realfirst, V2 = RealLast from package Standard.
|
//! V1 = Realfirst, V2 = RealLast from package Standard.
|
||||||
//! U1 = 0 and U2 = 2*PI.
|
//! U1 = 0 and U2 = 2*PI.
|
||||||
Standard_EXPORT void Bounds (Standard_Real& U1, Standard_Real& U2, Standard_Real& V1, Standard_Real& V2) const Standard_OVERRIDE;
|
Standard_EXPORT void Bounds (Standard_Real& U1, Standard_Real& U2, Standard_Real& V1, Standard_Real& V2) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! Returns the coefficients of the implicit equation of the quadric
|
//! Returns the coefficients of the implicit equation of the quadric
|
||||||
//! in the absolute cartesian coordinate system :
|
//! in the absolute cartesian coordinate system :
|
||||||
//! These coefficients are normalized.
|
//! These coefficients are normalized.
|
||||||
//! A1.X**2 + A2.Y**2 + A3.Z**2 + 2.(B1.X.Y + B2.X.Z + B3.Y.Z) +
|
//! @code
|
||||||
//! 2.(C1.X + C2.Y + C3.Z) + D = 0.0
|
//! A1.X**2 + A2.Y**2 + A3.Z**2 + 2.(B1.X.Y + B2.X.Z + B3.Y.Z) + 2.(C1.X + C2.Y + C3.Z) + D = 0.0
|
||||||
|
//! @endcode
|
||||||
Standard_EXPORT void Coefficients (Standard_Real& A1, Standard_Real& A2, Standard_Real& A3, Standard_Real& B1, Standard_Real& B2, Standard_Real& B3, Standard_Real& C1, Standard_Real& C2, Standard_Real& C3, Standard_Real& D) const;
|
Standard_EXPORT void Coefficients (Standard_Real& A1, Standard_Real& A2, Standard_Real& A3, Standard_Real& B1, Standard_Real& B2, Standard_Real& B3, Standard_Real& C1, Standard_Real& C2, Standard_Real& C3, Standard_Real& D) const;
|
||||||
|
|
||||||
//! Returns the radius of this cylinder.
|
//! Returns the radius of this cylinder.
|
||||||
@ -164,19 +169,16 @@ public:
|
|||||||
//! Returns False.
|
//! Returns False.
|
||||||
Standard_EXPORT Standard_Boolean IsVPeriodic() const Standard_OVERRIDE;
|
Standard_EXPORT Standard_Boolean IsVPeriodic() const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! The UIso curve is a Line. The location point of this line is
|
//! The UIso curve is a Line. The location point of this line is
|
||||||
//! on the placement plane (XAxis, YAxis) of the surface.
|
//! on the placement plane (XAxis, YAxis) of the surface.
|
||||||
//! This line is parallel to the axis of symmetry of the surface.
|
//! This line is parallel to the axis of symmetry of the surface.
|
||||||
Standard_EXPORT Handle(Geom_Curve) UIso (const Standard_Real U) const Standard_OVERRIDE;
|
Standard_EXPORT Handle(Geom_Curve) UIso (const Standard_Real U) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! The VIso curve is a circle. The start point of this circle
|
//! The VIso curve is a circle. The start point of this circle
|
||||||
//! (U = 0) is defined with the "XAxis" of the surface.
|
//! (U = 0) is defined with the "XAxis" of the surface.
|
||||||
//! The center of the circle is on the symmetry axis.
|
//! The center of the circle is on the symmetry axis.
|
||||||
Standard_EXPORT Handle(Geom_Curve) VIso (const Standard_Real V) const Standard_OVERRIDE;
|
Standard_EXPORT Handle(Geom_Curve) VIso (const Standard_Real V) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! Computes the point P (U, V) on the surface.
|
//! Computes the point P (U, V) on the surface.
|
||||||
//! P (U, V) = Loc + Radius * (cos (U) * XDir + sin (U) * YDir) +
|
//! P (U, V) = Loc + Radius * (cos (U) * XDir + sin (U) * YDir) +
|
||||||
//! V * ZDir
|
//! V * ZDir
|
||||||
@ -185,17 +187,14 @@ public:
|
|||||||
//! the YAxis.
|
//! the YAxis.
|
||||||
Standard_EXPORT void D0 (const Standard_Real U, const Standard_Real V, gp_Pnt& P) const Standard_OVERRIDE;
|
Standard_EXPORT void D0 (const Standard_Real U, const Standard_Real V, gp_Pnt& P) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! Computes the current point and the first derivatives in the
|
//! Computes the current point and the first derivatives in the
|
||||||
//! directions U and V.
|
//! directions U and V.
|
||||||
Standard_EXPORT void D1 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V) const Standard_OVERRIDE;
|
Standard_EXPORT void D1 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! Computes the current point, the first and the second derivatives
|
//! Computes the current point, the first and the second derivatives
|
||||||
//! in the directions U and V.
|
//! in the directions U and V.
|
||||||
Standard_EXPORT void D2 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V, gp_Vec& D2U, gp_Vec& D2V, gp_Vec& D2UV) const Standard_OVERRIDE;
|
Standard_EXPORT void D2 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V, gp_Vec& D2U, gp_Vec& D2V, gp_Vec& D2UV) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! Computes the current point, the first, the second and the
|
//! Computes the current point, the first, the second and the
|
||||||
//! third derivatives in the directions U and V.
|
//! third derivatives in the directions U and V.
|
||||||
Standard_EXPORT void D3 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V, gp_Vec& D2U, gp_Vec& D2V, gp_Vec& D2UV, gp_Vec& D3U, gp_Vec& D3V, gp_Vec& D3UUV, gp_Vec& D3UVV) const Standard_OVERRIDE;
|
Standard_EXPORT void D3 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V, gp_Vec& D2U, gp_Vec& D2V, gp_Vec& D2UV, gp_Vec& D3U, gp_Vec& D3V, gp_Vec& D3UUV, gp_Vec& D3UVV) const Standard_OVERRIDE;
|
||||||
@ -215,28 +214,12 @@ public:
|
|||||||
//! Dumps the content of me into the stream
|
//! Dumps the content of me into the stream
|
||||||
Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, Standard_Integer theDepth = -1) const Standard_OVERRIDE;
|
Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, Standard_Integer theDepth = -1) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
DEFINE_STANDARD_RTTIEXT(Geom_CylindricalSurface,Geom_ElementarySurface)
|
DEFINE_STANDARD_RTTIEXT(Geom_CylindricalSurface,Geom_ElementarySurface)
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
|
||||||
Standard_Real radius;
|
Standard_Real radius;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif // _Geom_CylindricalSurface_HeaderFile
|
#endif // _Geom_CylindricalSurface_HeaderFile
|
||||||
|
@ -72,7 +72,6 @@ class Geom_OffsetSurface : public Geom_Surface
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
||||||
//! Constructs a surface offset from the basis surface
|
//! Constructs a surface offset from the basis surface
|
||||||
//! S, where Offset is the distance between the offset
|
//! S, where Offset is the distance between the offset
|
||||||
//! surface and the basis surface at any point.
|
//! surface and the basis surface at any point.
|
||||||
@ -154,7 +153,6 @@ public:
|
|||||||
//! - Standard_Real::RealLast().
|
//! - Standard_Real::RealLast().
|
||||||
Standard_EXPORT void Bounds (Standard_Real& U1, Standard_Real& U2, Standard_Real& V1, Standard_Real& V2) const Standard_OVERRIDE;
|
Standard_EXPORT void Bounds (Standard_Real& U1, Standard_Real& U2, Standard_Real& V1, Standard_Real& V2) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! This method returns the continuity of the basis surface - 1.
|
//! This method returns the continuity of the basis surface - 1.
|
||||||
//! Continuity of the Offset surface :
|
//! Continuity of the Offset surface :
|
||||||
//! C0 : only geometric continuity,
|
//! C0 : only geometric continuity,
|
||||||
@ -172,7 +170,6 @@ public:
|
|||||||
//! the continuity of the basis surface - 1.
|
//! the continuity of the basis surface - 1.
|
||||||
Standard_EXPORT GeomAbs_Shape Continuity() const Standard_OVERRIDE;
|
Standard_EXPORT GeomAbs_Shape Continuity() const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! This method answer True if the continuity of the basis surface
|
//! This method answer True if the continuity of the basis surface
|
||||||
//! is N + 1 in the U parametric direction. We suppose in this
|
//! is N + 1 in the U parametric direction. We suppose in this
|
||||||
//! class that a unique normal is defined at any point on the basis
|
//! class that a unique normal is defined at any point on the basis
|
||||||
@ -180,7 +177,6 @@ public:
|
|||||||
//! Raised if N <0.
|
//! Raised if N <0.
|
||||||
Standard_EXPORT Standard_Boolean IsCNu (const Standard_Integer N) const Standard_OVERRIDE;
|
Standard_EXPORT Standard_Boolean IsCNu (const Standard_Integer N) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! This method answer True if the continuity of the basis surface
|
//! This method answer True if the continuity of the basis surface
|
||||||
//! is N + 1 in the V parametric direction. We suppose in this
|
//! is N + 1 in the V parametric direction. We suppose in this
|
||||||
//! class that a unique normal is defined at any point on the basis
|
//! class that a unique normal is defined at any point on the basis
|
||||||
@ -205,7 +201,6 @@ public:
|
|||||||
//! gp::Resolution() for each value of the parameter u.
|
//! gp::Resolution() for each value of the parameter u.
|
||||||
Standard_EXPORT Standard_Boolean IsVClosed() const Standard_OVERRIDE;
|
Standard_EXPORT Standard_Boolean IsVClosed() const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! Returns true if this offset surface is periodic in the u
|
//! Returns true if this offset surface is periodic in the u
|
||||||
//! parametric direction, i.e. if the basis
|
//! parametric direction, i.e. if the basis
|
||||||
//! surface of this offset surface is periodic in this direction.
|
//! surface of this offset surface is periodic in this direction.
|
||||||
@ -217,7 +212,6 @@ public:
|
|||||||
//! raises if the surface is not uperiodic.
|
//! raises if the surface is not uperiodic.
|
||||||
Standard_EXPORT virtual Standard_Real UPeriod() const Standard_OVERRIDE;
|
Standard_EXPORT virtual Standard_Real UPeriod() const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! Returns true if this offset surface is periodic in the v
|
//! Returns true if this offset surface is periodic in the v
|
||||||
//! parametric direction, i.e. if the basis
|
//! parametric direction, i.e. if the basis
|
||||||
//! surface of this offset surface is periodic in this direction.
|
//! surface of this offset surface is periodic in this direction.
|
||||||
@ -238,23 +232,26 @@ public:
|
|||||||
//!
|
//!
|
||||||
//! Warnings
|
//! Warnings
|
||||||
//! An exception is raised if a unique normal vector is
|
//! An exception is raised if a unique normal vector is
|
||||||
//! not defined on the basis surface for the parametric
|
//! not defined on the basis surface for the parametric value (U,V).
|
||||||
//! value (U,V).
|
|
||||||
//! No check is done at the creation time and we suppose
|
//! No check is done at the creation time and we suppose
|
||||||
//! in this package that the offset surface can be defined
|
//! in this package that the offset surface can be defined at any point.
|
||||||
//! at any point.
|
|
||||||
Standard_EXPORT Handle(Geom_Curve) VIso (const Standard_Real V) const Standard_OVERRIDE;
|
Standard_EXPORT Handle(Geom_Curve) VIso (const Standard_Real V) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
//! @code
|
||||||
//! P (U, V) = Pbasis + Offset * Ndir where
|
//! P (U, V) = Pbasis + Offset * Ndir
|
||||||
//! Ndir = D1Ubasis ^ D1Vbasis / ||D1Ubasis ^ D1Vbasis|| is the
|
//! @endcode
|
||||||
//! normal direction of the basis surface. Pbasis, D1Ubasis,
|
//! where
|
||||||
//! D1Vbasis are the point and the first derivatives on the basis
|
//! @code
|
||||||
//! surface.
|
//! Ndir = D1Ubasis ^ D1Vbasis / ||D1Ubasis ^ D1Vbasis||
|
||||||
|
//! @endcode
|
||||||
|
//! is the normal direction of the basis surface.
|
||||||
|
//! Pbasis, D1Ubasis, D1Vbasis are the point and the first derivatives on the basis surface.
|
||||||
//! If Ndir is undefined this method computes an approached normal
|
//! If Ndir is undefined this method computes an approached normal
|
||||||
//! direction using the following limited development :
|
//! direction using the following limited development:
|
||||||
//! Ndir = N0 + DNdir/DU + DNdir/DV + Eps with Eps->0 which
|
//! @code
|
||||||
//! requires to compute the second derivatives on the basis surface.
|
//! Ndir = N0 + DNdir/DU + DNdir/DV + Eps
|
||||||
|
//! @endcode
|
||||||
|
//! with Eps->0 which requires to compute the second derivatives on the basis surface.
|
||||||
//! If the normal direction cannot be approximate for this order
|
//! If the normal direction cannot be approximate for this order
|
||||||
//! of derivation the exception UndefinedValue is raised.
|
//! of derivation the exception UndefinedValue is raised.
|
||||||
//!
|
//!
|
||||||
@ -263,22 +260,17 @@ public:
|
|||||||
//! normal direction is greater than the second order.
|
//! normal direction is greater than the second order.
|
||||||
Standard_EXPORT void D0 (const Standard_Real U, const Standard_Real V, gp_Pnt& P) const Standard_OVERRIDE;
|
Standard_EXPORT void D0 (const Standard_Real U, const Standard_Real V, gp_Pnt& P) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! Raised if the continuity of the basis surface is not C2.
|
//! Raised if the continuity of the basis surface is not C2.
|
||||||
Standard_EXPORT void D1 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V) const Standard_OVERRIDE;
|
Standard_EXPORT void D1 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V) const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! ---Purpose ;
|
|
||||||
//! Raised if the continuity of the basis surface is not C3.
|
//! Raised if the continuity of the basis surface is not C3.
|
||||||
Standard_EXPORT void D2 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V, gp_Vec& D2U, gp_Vec& D2V, gp_Vec& D2UV) const Standard_OVERRIDE;
|
Standard_EXPORT void D2 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V, gp_Vec& D2U, gp_Vec& D2V, gp_Vec& D2UV) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! Raised if the continuity of the basis surface is not C4.
|
//! Raised if the continuity of the basis surface is not C4.
|
||||||
Standard_EXPORT void D3 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V, gp_Vec& D2U, gp_Vec& D2V, gp_Vec& D2UV, gp_Vec& D3U, gp_Vec& D3V, gp_Vec& D3UUV, gp_Vec& D3UVV) const Standard_OVERRIDE;
|
Standard_EXPORT void D3 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V, gp_Vec& D2U, gp_Vec& D2V, gp_Vec& D2UV, gp_Vec& D3U, gp_Vec& D3V, gp_Vec& D3UUV, gp_Vec& D3UVV) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
//! Computes the derivative of order Nu in the direction u and Nv in the direction v.
|
||||||
//! Computes the derivative of order Nu in the direction u and Nv
|
//!
|
||||||
//! in the direction v.
|
|
||||||
//! ---Purpose ;
|
|
||||||
//! Raised if the continuity of the basis surface is not CNu + 1
|
//! Raised if the continuity of the basis surface is not CNu + 1
|
||||||
//! in the U direction and CNv + 1 in the V direction.
|
//! in the U direction and CNv + 1 in the V direction.
|
||||||
//! Raised if Nu + Nv < 1 or Nu < 0 or Nv < 0.
|
//! Raised if Nu + Nv < 1 or Nu < 0 or Nv < 0.
|
||||||
@ -289,46 +281,45 @@ public:
|
|||||||
//! The computation of the value and derivatives on the basis
|
//! The computation of the value and derivatives on the basis
|
||||||
//! surface are used to evaluate the offset surface.
|
//! surface are used to evaluate the offset surface.
|
||||||
//!
|
//!
|
||||||
//! Warnings :
|
//! Warnings:
|
||||||
//! The exception UndefinedValue or UndefinedDerivative is
|
//! The exception UndefinedValue or UndefinedDerivative is
|
||||||
//! raised if it is not possible to compute a unique offset
|
//! raised if it is not possible to compute a unique offset direction.
|
||||||
//! direction.
|
|
||||||
Standard_EXPORT gp_Vec DN (const Standard_Real U, const Standard_Real V, const Standard_Integer Nu, const Standard_Integer Nv) const Standard_OVERRIDE;
|
Standard_EXPORT gp_Vec DN (const Standard_Real U, const Standard_Real V, const Standard_Integer Nu, const Standard_Integer Nv) const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Applies the transformation T to this offset surface.
|
//! Applies the transformation T to this offset surface.
|
||||||
//! Note: the basis surface is also modified.
|
//! Note: the basis surface is also modified.
|
||||||
Standard_EXPORT void Transform (const gp_Trsf& T) Standard_OVERRIDE;
|
Standard_EXPORT void Transform (const gp_Trsf& T) Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Computes the parameters on the transformed surface for
|
//! Computes the parameters on the transformed surface for
|
||||||
//! the transform of the point of parameters U,V on <me>.
|
//! the transform of the point of parameters U,V on <me>.
|
||||||
//!
|
//! @code
|
||||||
//! me->Transformed(T)->Value(U',V')
|
//! me->Transformed(T)->Value(U',V')
|
||||||
//!
|
//! @endcode
|
||||||
//! is the same point as
|
//! is the same point as
|
||||||
//!
|
//! @code
|
||||||
//! me->Value(U,V).Transformed(T)
|
//! me->Value(U,V).Transformed(T)
|
||||||
//!
|
//! @endcode
|
||||||
//! Where U',V' are the new values of U,V after calling
|
//! Where U',V' are the new values of U,V after calling
|
||||||
//!
|
//! @code
|
||||||
//! me->TranformParameters(U,V,T)
|
//! me->TransformParameters(U,V,T)
|
||||||
//! This methods calls the basis surface method.
|
//! @endcode
|
||||||
|
//! This method calls the basis surface method.
|
||||||
Standard_EXPORT virtual void TransformParameters (Standard_Real& U, Standard_Real& V, const gp_Trsf& T) const Standard_OVERRIDE;
|
Standard_EXPORT virtual void TransformParameters (Standard_Real& U, Standard_Real& V, const gp_Trsf& T) const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Returns a 2d transformation used to find the new
|
//! Returns a 2d transformation used to find the new
|
||||||
//! parameters of a point on the transformed surface.
|
//! parameters of a point on the transformed surface.
|
||||||
//!
|
//! @code
|
||||||
//! me->Transformed(T)->Value(U',V')
|
//! me->Transformed(T)->Value(U',V')
|
||||||
//!
|
//! @endcode
|
||||||
//! is the same point as
|
//! is the same point as
|
||||||
//!
|
//! @code
|
||||||
//! me->Value(U,V).Transformed(T)
|
//! me->Value(U,V).Transformed(T)
|
||||||
//!
|
//! @endcode
|
||||||
//! Where U',V' are obtained by transforming U,V with
|
//! Where U',V' are obtained by transforming U,V with the 2d transformation returned by
|
||||||
//! th 2d transformation returned by
|
//! @code
|
||||||
//!
|
|
||||||
//! me->ParametricTransformation(T)
|
//! me->ParametricTransformation(T)
|
||||||
//!
|
//! @endcode
|
||||||
//! This methods calls the basis surface method.
|
//! This method calls the basis surface method.
|
||||||
Standard_EXPORT virtual gp_GTrsf2d ParametricTransformation (const gp_Trsf& T) const Standard_OVERRIDE;
|
Standard_EXPORT virtual gp_GTrsf2d ParametricTransformation (const gp_Trsf& T) const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Creates a new object which is a copy of this offset surface.
|
//! Creates a new object which is a copy of this offset surface.
|
||||||
|
@ -58,7 +58,9 @@ DEFINE_STANDARD_HANDLE(Geom_Plane, Geom_ElementarySurface)
|
|||||||
//! the "X Direction" and the "Y Direction" of its local
|
//! the "X Direction" and the "Y Direction" of its local
|
||||||
//! coordinate system.)
|
//! coordinate system.)
|
||||||
//! The parametric equation of the plane is:
|
//! The parametric equation of the plane is:
|
||||||
//! P(u, v) = O + u*XDir + v*YDir
|
//! @code
|
||||||
|
//! P(u, v) = O + u*XDir + v*YDir
|
||||||
|
//! @endcode
|
||||||
//! where O, XDir and YDir are respectively the
|
//! where O, XDir and YDir are respectively the
|
||||||
//! origin, the "X Direction" and the "Y Direction" of the
|
//! origin, the "X Direction" and the "Y Direction" of the
|
||||||
//! local coordinate system of the plane.
|
//! local coordinate system of the plane.
|
||||||
@ -69,29 +71,25 @@ class Geom_Plane : public Geom_ElementarySurface
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
//! Creates a plane located in 3D space with an axis placement three axis.
|
||||||
|
//! The "ZDirection" of "A3" is the direction normal
|
||||||
//! Creates a plane located in 3D space with an axis placement
|
//! to the plane. The "Location" point of "A3" is the origin of the plane.
|
||||||
//! three axis. The "ZDirection" of "A3" is the direction normal
|
//! The "XDirection" and "YDirection" of "A3" define
|
||||||
//! to the plane. The "Location" point of "A3" is the origin of
|
//! the directions of the U isoparametric and V isoparametric curves.
|
||||||
//! the plane. The "XDirection" and "YDirection" of "A3" define
|
|
||||||
//! the directions of the U isoparametric and V isoparametric
|
|
||||||
//! curves.
|
|
||||||
Standard_EXPORT Geom_Plane(const gp_Ax3& A3);
|
Standard_EXPORT Geom_Plane(const gp_Ax3& A3);
|
||||||
|
|
||||||
|
|
||||||
//! Creates a plane from a non transient plane from package gp.
|
//! Creates a plane from a non transient plane from package gp.
|
||||||
Standard_EXPORT Geom_Plane(const gp_Pln& Pl);
|
Standard_EXPORT Geom_Plane(const gp_Pln& Pl);
|
||||||
|
|
||||||
|
|
||||||
//! P is the "Location" point or origin of the plane.
|
//! P is the "Location" point or origin of the plane.
|
||||||
//! V is the direction normal to the plane.
|
//! V is the direction normal to the plane.
|
||||||
Standard_EXPORT Geom_Plane(const gp_Pnt& P, const gp_Dir& V);
|
Standard_EXPORT Geom_Plane(const gp_Pnt& P, const gp_Dir& V);
|
||||||
|
|
||||||
|
//! Creates a plane from its cartesian equation:
|
||||||
//! Creates a plane from its cartesian equation :
|
//! @code
|
||||||
//! Ax + By + Cz + D = 0.0
|
//! Ax + By + Cz + D = 0.0
|
||||||
//!
|
//! @endcode
|
||||||
//! Raised if Sqrt (A*A + B*B + C*C) <= Resolution from gp
|
//! Raised if Sqrt (A*A + B*B + C*C) <= Resolution from gp
|
||||||
Standard_EXPORT Geom_Plane(const Standard_Real A, const Standard_Real B, const Standard_Real C, const Standard_Real D);
|
Standard_EXPORT Geom_Plane(const Standard_Real A, const Standard_Real B, const Standard_Real C, const Standard_Real D);
|
||||||
|
|
||||||
@ -102,52 +100,59 @@ public:
|
|||||||
//! Converts this plane into a gp_Pln plane.
|
//! Converts this plane into a gp_Pln plane.
|
||||||
Standard_EXPORT gp_Pln Pln() const;
|
Standard_EXPORT gp_Pln Pln() const;
|
||||||
|
|
||||||
|
//! Changes the orientation of this plane in the u (or v) parametric direction.
|
||||||
//! Changes the orientation of this plane in the u (or v)
|
//! The bounds of the plane are not changed but the given parametric direction is reversed.
|
||||||
//! parametric direction. The bounds of the plane are not
|
//! Hence the orientation of the surface is reversed.
|
||||||
//! changed but the given parametric direction is
|
|
||||||
//! reversed. Hence the orientation of the surface is reversed.
|
|
||||||
Standard_EXPORT virtual void UReverse() Standard_OVERRIDE;
|
Standard_EXPORT virtual void UReverse() Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Computes the u parameter on the modified
|
//! Computes the u parameter on the modified plane,
|
||||||
//! plane, produced when reversing the u
|
//! produced when reversing the u parametric of this plane,
|
||||||
//! parametric of this plane, for any point of u parameter U on this plane.
|
//! for any point of u parameter U on this plane.
|
||||||
//! In the case of a plane, these methods return - -U.
|
//! In the case of a plane, these methods return - -U.
|
||||||
Standard_EXPORT Standard_Real UReversedParameter (const Standard_Real U) const Standard_OVERRIDE;
|
Standard_EXPORT Standard_Real UReversedParameter (const Standard_Real U) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! Changes the orientation of this plane in the u (or v)
|
//! Changes the orientation of this plane in the u (or v) parametric direction.
|
||||||
//! parametric direction. The bounds of the plane are not
|
//! The bounds of the plane are not changed but the given parametric direction is reversed.
|
||||||
//! changed but the given parametric direction is
|
//! Hence the orientation of the surface is reversed.
|
||||||
//! reversed. Hence the orientation of the surface is reversed.
|
|
||||||
Standard_EXPORT virtual void VReverse() Standard_OVERRIDE;
|
Standard_EXPORT virtual void VReverse() Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Computes the v parameter on the modified
|
//! Computes the v parameter on the modified plane,
|
||||||
//! plane, produced when reversing the v
|
//! produced when reversing the v parametric of this plane,
|
||||||
//! parametric of this plane, for any point of v parameter V on this plane.
|
//! for any point of v parameter V on this plane.
|
||||||
//! In the case of a plane, these methods return -V.
|
//! In the case of a plane, these methods return -V.
|
||||||
Standard_EXPORT Standard_Real VReversedParameter (const Standard_Real V) const Standard_OVERRIDE;
|
Standard_EXPORT Standard_Real VReversedParameter (const Standard_Real V) const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Computes the parameters on the transformed surface for
|
//! Computes the parameters on the transformed surface for
|
||||||
//! the transform of the point of parameters U,V on <me>.
|
//! the transform of the point of parameters U,V on <me>.
|
||||||
//! me->Transformed(T)->Value(U',V')
|
//! @code
|
||||||
|
//! me->Transformed(T)->Value(U',V')
|
||||||
|
//! @endcode
|
||||||
//! is the same point as
|
//! is the same point as
|
||||||
//! me->Value(U,V).Transformed(T)
|
//! @code
|
||||||
|
//! me->Value(U,V).Transformed(T)
|
||||||
|
//! @endcode
|
||||||
//! Where U',V' are the new values of U,V after calling
|
//! Where U',V' are the new values of U,V after calling
|
||||||
//! me->TranformParameters(U,V,T)
|
//! @code
|
||||||
//! This methods multiplies U and V by T.ScaleFactor()
|
//! me->TransformParameters(U,V,T)
|
||||||
|
//! @endcode
|
||||||
|
//! This method multiplies U and V by T.ScaleFactor()
|
||||||
Standard_EXPORT virtual void TransformParameters (Standard_Real& U, Standard_Real& V, const gp_Trsf& T) const Standard_OVERRIDE;
|
Standard_EXPORT virtual void TransformParameters (Standard_Real& U, Standard_Real& V, const gp_Trsf& T) const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Returns a 2d transformation used to find the new
|
//! Returns a 2d transformation used to find the new
|
||||||
//! parameters of a point on the transformed surface.
|
//! parameters of a point on the transformed surface.
|
||||||
//! me->Transformed(T)->Value(U',V')
|
//! @code
|
||||||
|
//! me->Transformed(T)->Value(U',V')
|
||||||
|
//! @endcode
|
||||||
//! is the same point as
|
//! is the same point as
|
||||||
//! me->Value(U,V).Transformed(T)
|
//! @code
|
||||||
//! Where U',V' are obtained by transforming U,V with
|
//! me->Value(U,V).Transformed(T)
|
||||||
//! th 2d transformation returned by
|
//! @endcode
|
||||||
//! me->ParametricTransformation(T)
|
//! Where U',V' are obtained by transforming U,V with the 2d transformation returned by
|
||||||
//! This methods returns a scale centered on the
|
//! @code
|
||||||
//! origin with T.ScaleFactor
|
//! me->ParametricTransformation(T)
|
||||||
|
//! @endcode
|
||||||
|
//! This method returns a scale centered on the origin with T.ScaleFactor
|
||||||
Standard_EXPORT virtual gp_GTrsf2d ParametricTransformation (const gp_Trsf& T) const Standard_OVERRIDE;
|
Standard_EXPORT virtual gp_GTrsf2d ParametricTransformation (const gp_Trsf& T) const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Returns the parametric bounds U1, U2, V1 and V2 of this plane.
|
//! Returns the parametric bounds U1, U2, V1 and V2 of this plane.
|
||||||
@ -156,9 +161,10 @@ public:
|
|||||||
//! - U2 = V2 = Standard_Real::RealLast().
|
//! - U2 = V2 = Standard_Real::RealLast().
|
||||||
Standard_EXPORT void Bounds (Standard_Real& U1, Standard_Real& U2, Standard_Real& V1, Standard_Real& V2) const Standard_OVERRIDE;
|
Standard_EXPORT void Bounds (Standard_Real& U1, Standard_Real& U2, Standard_Real& V1, Standard_Real& V2) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
//! Computes the normalized coefficients of the plane's cartesian equation:
|
||||||
//! Computes the normalized coefficients of the plane's
|
//! @code
|
||||||
//! cartesian equation : Ax + By + Cz + D = 0.0
|
//! Ax + By + Cz + D = 0.0
|
||||||
|
//! @endcode
|
||||||
Standard_EXPORT void Coefficients (Standard_Real& A, Standard_Real& B, Standard_Real& C, Standard_Real& D) const;
|
Standard_EXPORT void Coefficients (Standard_Real& A, Standard_Real& B, Standard_Real& C, Standard_Real& D) const;
|
||||||
|
|
||||||
//! return False
|
//! return False
|
||||||
@ -173,40 +179,33 @@ public:
|
|||||||
//! return False.
|
//! return False.
|
||||||
Standard_EXPORT Standard_Boolean IsVPeriodic() const Standard_OVERRIDE;
|
Standard_EXPORT Standard_Boolean IsVPeriodic() const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! Computes the U isoparametric curve.
|
//! Computes the U isoparametric curve.
|
||||||
//! This is a Line parallel to the YAxis of the plane.
|
//! This is a Line parallel to the YAxis of the plane.
|
||||||
Standard_EXPORT Handle(Geom_Curve) UIso (const Standard_Real U) const Standard_OVERRIDE;
|
Standard_EXPORT Handle(Geom_Curve) UIso (const Standard_Real U) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! Computes the V isoparametric curve.
|
//! Computes the V isoparametric curve.
|
||||||
//! This is a Line parallel to the XAxis of the plane.
|
//! This is a Line parallel to the XAxis of the plane.
|
||||||
Standard_EXPORT Handle(Geom_Curve) VIso (const Standard_Real V) const Standard_OVERRIDE;
|
Standard_EXPORT Handle(Geom_Curve) VIso (const Standard_Real V) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! Computes the point P (U, V) on <me>.
|
//! Computes the point P (U, V) on <me>.
|
||||||
//! P = O + U * XDir + V * YDir.
|
//! @code
|
||||||
|
//! P = O + U * XDir + V * YDir.
|
||||||
|
//! @endcode
|
||||||
//! where O is the "Location" point of the plane, XDir the
|
//! where O is the "Location" point of the plane, XDir the
|
||||||
//! "XDirection" and YDir the "YDirection" of the plane's local
|
//! "XDirection" and YDir the "YDirection" of the plane's local coordinate system.
|
||||||
//! coordinate system.
|
|
||||||
Standard_EXPORT void D0 (const Standard_Real U, const Standard_Real V, gp_Pnt& P) const Standard_OVERRIDE;
|
Standard_EXPORT void D0 (const Standard_Real U, const Standard_Real V, gp_Pnt& P) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
//! Computes the current point and the first derivatives in the directions U and V.
|
||||||
//! Computes the current point and the first derivatives in the
|
|
||||||
//! directions U and V.
|
|
||||||
Standard_EXPORT void D1 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V) const Standard_OVERRIDE;
|
Standard_EXPORT void D1 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! Computes the current point, the first and the second
|
//! Computes the current point, the first and the second
|
||||||
//! derivatives in the directions U and V.
|
//! derivatives in the directions U and V.
|
||||||
Standard_EXPORT void D2 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V, gp_Vec& D2U, gp_Vec& D2V, gp_Vec& D2UV) const Standard_OVERRIDE;
|
Standard_EXPORT void D2 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V, gp_Vec& D2U, gp_Vec& D2V, gp_Vec& D2UV) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! Computes the current point, the first,the second and the
|
//! Computes the current point, the first,the second and the
|
||||||
//! third derivatives in the directions U and V.
|
//! third derivatives in the directions U and V.
|
||||||
Standard_EXPORT void D3 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V, gp_Vec& D2U, gp_Vec& D2V, gp_Vec& D2UV, gp_Vec& D3U, gp_Vec& D3V, gp_Vec& D3UUV, gp_Vec& D3UVV) const Standard_OVERRIDE;
|
Standard_EXPORT void D3 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V, gp_Vec& D2U, gp_Vec& D2V, gp_Vec& D2UV, gp_Vec& D3U, gp_Vec& D3V, gp_Vec& D3UUV, gp_Vec& D3UVV) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! Computes the derivative of order Nu in the direction u
|
//! Computes the derivative of order Nu in the direction u
|
||||||
//! and Nv in the direction v.
|
//! and Nv in the direction v.
|
||||||
//! Raised if Nu + Nv < 1 or Nu < 0 or Nv < 0.
|
//! Raised if Nu + Nv < 1 or Nu < 0 or Nv < 0.
|
||||||
@ -222,26 +221,8 @@ public:
|
|||||||
Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, Standard_Integer theDepth = -1) const Standard_OVERRIDE;
|
Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, Standard_Integer theDepth = -1) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
DEFINE_STANDARD_RTTIEXT(Geom_Plane,Geom_ElementarySurface)
|
DEFINE_STANDARD_RTTIEXT(Geom_Plane,Geom_ElementarySurface)
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif // _Geom_Plane_HeaderFile
|
#endif // _Geom_Plane_HeaderFile
|
||||||
|
@ -66,8 +66,6 @@ class Geom_RectangularTrimmedSurface : public Geom_BoundedSurface
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//! The U parametric direction of the surface is oriented from U1
|
//! The U parametric direction of the surface is oriented from U1
|
||||||
//! to U2. The V parametric direction of the surface is oriented
|
//! to U2. The V parametric direction of the surface is oriented
|
||||||
//! from V1 to V2.
|
//! from V1 to V2.
|
||||||
@ -86,7 +84,6 @@ public:
|
|||||||
//! U1 = U2 or V1 = V2
|
//! U1 = U2 or V1 = V2
|
||||||
Standard_EXPORT Geom_RectangularTrimmedSurface(const Handle(Geom_Surface)& S, const Standard_Real U1, const Standard_Real U2, const Standard_Real V1, const Standard_Real V2, const Standard_Boolean USense = Standard_True, const Standard_Boolean VSense = Standard_True);
|
Standard_EXPORT Geom_RectangularTrimmedSurface(const Handle(Geom_Surface)& S, const Standard_Real U1, const Standard_Real U2, const Standard_Real V1, const Standard_Real V2, const Standard_Boolean USense = Standard_True, const Standard_Boolean VSense = Standard_True);
|
||||||
|
|
||||||
|
|
||||||
//! The basis surface S is only trim in one parametric direction.
|
//! The basis surface S is only trim in one parametric direction.
|
||||||
//! If UTrim = True the surface is trimmed in the U parametric
|
//! If UTrim = True the surface is trimmed in the U parametric
|
||||||
//! direction else the surface is trimmed in the V parametric
|
//! direction else the surface is trimmed in the V parametric
|
||||||
@ -178,7 +175,6 @@ public:
|
|||||||
//! Returns the parametric bounds U1, U2, V1 and V2 of this patch.
|
//! Returns the parametric bounds U1, U2, V1 and V2 of this patch.
|
||||||
Standard_EXPORT void Bounds (Standard_Real& U1, Standard_Real& U2, Standard_Real& V1, Standard_Real& V2) const Standard_OVERRIDE;
|
Standard_EXPORT void Bounds (Standard_Real& U1, Standard_Real& U2, Standard_Real& V1, Standard_Real& V2) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! Returns the continuity of the surface :
|
//! Returns the continuity of the surface :
|
||||||
//! C0 : only geometric continuity,
|
//! C0 : only geometric continuity,
|
||||||
//! C1 : continuity of the first derivative all along the Surface,
|
//! C1 : continuity of the first derivative all along the Surface,
|
||||||
@ -193,13 +189,11 @@ public:
|
|||||||
//! Returns true if this patch is closed in the given parametric direction.
|
//! Returns true if this patch is closed in the given parametric direction.
|
||||||
Standard_EXPORT Standard_Boolean IsVClosed() const Standard_OVERRIDE;
|
Standard_EXPORT Standard_Boolean IsVClosed() const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! Returns true if the order of derivation in the U parametric
|
//! Returns true if the order of derivation in the U parametric
|
||||||
//! direction is N.
|
//! direction is N.
|
||||||
//! Raised if N < 0.
|
//! Raised if N < 0.
|
||||||
Standard_EXPORT Standard_Boolean IsCNu (const Standard_Integer N) const Standard_OVERRIDE;
|
Standard_EXPORT Standard_Boolean IsCNu (const Standard_Integer N) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! Returns true if the order of derivation in the V parametric
|
//! Returns true if the order of derivation in the V parametric
|
||||||
//! direction is N.
|
//! direction is N.
|
||||||
//! Raised if N < 0.
|
//! Raised if N < 0.
|
||||||
@ -214,7 +208,6 @@ public:
|
|||||||
//! raises if the surface is not uperiodic.
|
//! raises if the surface is not uperiodic.
|
||||||
Standard_EXPORT virtual Standard_Real UPeriod() const Standard_OVERRIDE;
|
Standard_EXPORT virtual Standard_Real UPeriod() const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! Returns true if this patch is periodic and not trimmed in the given
|
//! Returns true if this patch is periodic and not trimmed in the given
|
||||||
//! parametric direction.
|
//! parametric direction.
|
||||||
Standard_EXPORT Standard_Boolean IsVPeriodic() const Standard_OVERRIDE;
|
Standard_EXPORT Standard_Boolean IsVPeriodic() const Standard_OVERRIDE;
|
||||||
@ -231,18 +224,15 @@ public:
|
|||||||
//! Computes the V isoparametric curve.
|
//! Computes the V isoparametric curve.
|
||||||
Standard_EXPORT Handle(Geom_Curve) VIso (const Standard_Real V) const Standard_OVERRIDE;
|
Standard_EXPORT Handle(Geom_Curve) VIso (const Standard_Real V) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! Can be raised if the basis surface is an OffsetSurface.
|
//! Can be raised if the basis surface is an OffsetSurface.
|
||||||
Standard_EXPORT void D0 (const Standard_Real U, const Standard_Real V, gp_Pnt& P) const Standard_OVERRIDE;
|
Standard_EXPORT void D0 (const Standard_Real U, const Standard_Real V, gp_Pnt& P) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! The returned derivatives have the same orientation as the
|
//! The returned derivatives have the same orientation as the
|
||||||
//! derivatives of the basis surface even if the trimmed surface
|
//! derivatives of the basis surface even if the trimmed surface
|
||||||
//! has not the same parametric orientation.
|
//! has not the same parametric orientation.
|
||||||
//! Warning! UndefinedDerivative raised if the continuity of the surface is not C1.
|
//! Warning! UndefinedDerivative raised if the continuity of the surface is not C1.
|
||||||
Standard_EXPORT void D1 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V) const Standard_OVERRIDE;
|
Standard_EXPORT void D1 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
//! The returned derivatives have the same orientation as the
|
//! The returned derivatives have the same orientation as the
|
||||||
//! derivatives of the basis surface even if the trimmed surface
|
//! derivatives of the basis surface even if the trimmed surface
|
||||||
//! has not the same parametric orientation.
|
//! has not the same parametric orientation.
|
||||||
@ -271,35 +261,35 @@ public:
|
|||||||
|
|
||||||
//! Computes the parameters on the transformed surface for
|
//! Computes the parameters on the transformed surface for
|
||||||
//! the transform of the point of parameters U,V on <me>.
|
//! the transform of the point of parameters U,V on <me>.
|
||||||
//!
|
//! @code
|
||||||
//! me->Transformed(T)->Value(U',V')
|
//! me->Transformed(T)->Value(U',V')
|
||||||
//!
|
//! @endcode
|
||||||
//! is the same point as
|
//! is the same point as
|
||||||
//!
|
//! @code
|
||||||
//! me->Value(U,V).Transformed(T)
|
//! me->Value(U,V).Transformed(T)
|
||||||
//!
|
//! @endcode
|
||||||
//! Where U',V' are the new values of U,V after calling
|
//! Where U',V' are the new values of U,V after calling
|
||||||
//!
|
//! @code
|
||||||
//! me->TranformParameters(U,V,T)
|
//! me->TransformParameters(U,V,T)
|
||||||
//!
|
//! @endcode
|
||||||
//! This methods calls the basis surface method.
|
//! This method calls the basis surface method.
|
||||||
Standard_EXPORT virtual void TransformParameters (Standard_Real& U, Standard_Real& V, const gp_Trsf& T) const Standard_OVERRIDE;
|
Standard_EXPORT virtual void TransformParameters (Standard_Real& U, Standard_Real& V, const gp_Trsf& T) const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Returns a 2d transformation used to find the new
|
//! Returns a 2d transformation used to find the new
|
||||||
//! parameters of a point on the transformed surface.
|
//! parameters of a point on the transformed surface.
|
||||||
//!
|
//! @code
|
||||||
//! me->Transformed(T)->Value(U',V')
|
//! me->Transformed(T)->Value(U',V')
|
||||||
//!
|
//! @endcode
|
||||||
//! is the same point as
|
//! is the same point as
|
||||||
//!
|
//! @code
|
||||||
//! me->Value(U,V).Transformed(T)
|
//! me->Value(U,V).Transformed(T)
|
||||||
//!
|
//! @endcode
|
||||||
//! Where U',V' are obtained by transforming U,V with
|
//! Where U',V' are obtained by transforming U,V with
|
||||||
//! th 2d transformation returned by
|
//! the 2d transformation returned by
|
||||||
//!
|
//! @code
|
||||||
//! me->ParametricTransformation(T)
|
//! me->ParametricTransformation(T)
|
||||||
//!
|
//! @endcode
|
||||||
//! This methods calls the basis surface method.
|
//! This method calls the basis surface method.
|
||||||
Standard_EXPORT virtual gp_GTrsf2d ParametricTransformation (const gp_Trsf& T) const Standard_OVERRIDE;
|
Standard_EXPORT virtual gp_GTrsf2d ParametricTransformation (const gp_Trsf& T) const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Creates a new object which is a copy of this patch.
|
//! Creates a new object which is a copy of this patch.
|
||||||
@ -308,19 +298,10 @@ public:
|
|||||||
//! Dumps the content of me into the stream
|
//! Dumps the content of me into the stream
|
||||||
Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, Standard_Integer theDepth = -1) const Standard_OVERRIDE;
|
Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, Standard_Integer theDepth = -1) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
DEFINE_STANDARD_RTTIEXT(Geom_RectangularTrimmedSurface,Geom_BoundedSurface)
|
DEFINE_STANDARD_RTTIEXT(Geom_RectangularTrimmedSurface,Geom_BoundedSurface)
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
|
||||||
//! General set trim, to implement constructors and
|
//! General set trim, to implement constructors and
|
||||||
//! others set trim.
|
//! others set trim.
|
||||||
Standard_EXPORT void SetTrim (const Standard_Real U1, const Standard_Real U2, const Standard_Real V1, const Standard_Real V2, const Standard_Boolean UTrim, const Standard_Boolean VTrim, const Standard_Boolean USense, const Standard_Boolean VSense);
|
Standard_EXPORT void SetTrim (const Standard_Real U1, const Standard_Real U2, const Standard_Real V1, const Standard_Real V2, const Standard_Boolean UTrim, const Standard_Boolean VTrim, const Standard_Boolean USense, const Standard_Boolean VSense);
|
||||||
@ -333,13 +314,6 @@ private:
|
|||||||
Standard_Boolean isutrimmed;
|
Standard_Boolean isutrimmed;
|
||||||
Standard_Boolean isvtrimmed;
|
Standard_Boolean isvtrimmed;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif // _Geom_RectangularTrimmedSurface_HeaderFile
|
#endif // _Geom_RectangularTrimmedSurface_HeaderFile
|
||||||
|
@ -58,13 +58,10 @@ class Geom_Surface : public Geom_Geometry
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//! Reverses the U direction of parametrization of <me>.
|
//! Reverses the U direction of parametrization of <me>.
|
||||||
//! The bounds of the surface are not modified.
|
//! The bounds of the surface are not modified.
|
||||||
Standard_EXPORT virtual void UReverse() = 0;
|
Standard_EXPORT virtual void UReverse() = 0;
|
||||||
|
|
||||||
|
|
||||||
//! Reverses the U direction of parametrization of <me>.
|
//! Reverses the U direction of parametrization of <me>.
|
||||||
//! The bounds of the surface are not modified.
|
//! The bounds of the surface are not modified.
|
||||||
//! A copy of <me> is returned.
|
//! A copy of <me> is returned.
|
||||||
@ -72,20 +69,19 @@ public:
|
|||||||
|
|
||||||
//! Returns the parameter on the Ureversed surface for
|
//! Returns the parameter on the Ureversed surface for
|
||||||
//! the point of parameter U on <me>.
|
//! the point of parameter U on <me>.
|
||||||
//!
|
//! @code
|
||||||
//! me->UReversed()->Value(me->UReversedParameter(U),V)
|
//! me->UReversed()->Value(me->UReversedParameter(U),V)
|
||||||
//!
|
//! @endcode
|
||||||
//! is the same point as
|
//! is the same point as
|
||||||
//!
|
//! @code
|
||||||
//! me->Value(U,V)
|
//! me->Value(U,V)
|
||||||
|
//! @endcode
|
||||||
Standard_EXPORT virtual Standard_Real UReversedParameter (const Standard_Real U) const = 0;
|
Standard_EXPORT virtual Standard_Real UReversedParameter (const Standard_Real U) const = 0;
|
||||||
|
|
||||||
|
|
||||||
//! Reverses the V direction of parametrization of <me>.
|
//! Reverses the V direction of parametrization of <me>.
|
||||||
//! The bounds of the surface are not modified.
|
//! The bounds of the surface are not modified.
|
||||||
Standard_EXPORT virtual void VReverse() = 0;
|
Standard_EXPORT virtual void VReverse() = 0;
|
||||||
|
|
||||||
|
|
||||||
//! Reverses the V direction of parametrization of <me>.
|
//! Reverses the V direction of parametrization of <me>.
|
||||||
//! The bounds of the surface are not modified.
|
//! The bounds of the surface are not modified.
|
||||||
//! A copy of <me> is returned.
|
//! A copy of <me> is returned.
|
||||||
@ -93,28 +89,29 @@ public:
|
|||||||
|
|
||||||
//! Returns the parameter on the Vreversed surface for
|
//! Returns the parameter on the Vreversed surface for
|
||||||
//! the point of parameter V on <me>.
|
//! the point of parameter V on <me>.
|
||||||
//!
|
//! @code
|
||||||
//! me->VReversed()->Value(U,me->VReversedParameter(V))
|
//! me->VReversed()->Value(U,me->VReversedParameter(V))
|
||||||
//!
|
//! @endcode
|
||||||
//! is the same point as
|
//! is the same point as
|
||||||
//!
|
//! @code
|
||||||
//! me->Value(U,V)
|
//! me->Value(U,V)
|
||||||
|
//! @endcode
|
||||||
Standard_EXPORT virtual Standard_Real VReversedParameter (const Standard_Real V) const = 0;
|
Standard_EXPORT virtual Standard_Real VReversedParameter (const Standard_Real V) const = 0;
|
||||||
|
|
||||||
//! Computes the parameters on the transformed surface for
|
//! Computes the parameters on the transformed surface for
|
||||||
//! the transform of the point of parameters U,V on <me>.
|
//! the transform of the point of parameters U,V on <me>.
|
||||||
//!
|
//! @code
|
||||||
//! me->Transformed(T)->Value(U',V')
|
//! me->Transformed(T)->Value(U',V')
|
||||||
//!
|
//! @endcode
|
||||||
//! is the same point as
|
//! is the same point as
|
||||||
//!
|
//! @code
|
||||||
//! me->Value(U,V).Transformed(T)
|
//! me->Value(U,V).Transformed(T)
|
||||||
//!
|
//! @endcode
|
||||||
//! Where U',V' are the new values of U,V after calling
|
//! Where U',V' are the new values of U,V after calling
|
||||||
//!
|
//! @code
|
||||||
//! me->TranformParameters(U,V,T)
|
//! me->TransformParameters(U,V,T)
|
||||||
//!
|
//! @endcode
|
||||||
//! This methods does not change <U> and <V>
|
//! This method does not change <U> and <V>
|
||||||
//!
|
//!
|
||||||
//! It can be redefined. For example on the Plane,
|
//! It can be redefined. For example on the Plane,
|
||||||
//! Cylinder, Cone, Revolved and Extruded surfaces.
|
//! Cylinder, Cone, Revolved and Extruded surfaces.
|
||||||
@ -122,19 +119,19 @@ public:
|
|||||||
|
|
||||||
//! Returns a 2d transformation used to find the new
|
//! Returns a 2d transformation used to find the new
|
||||||
//! parameters of a point on the transformed surface.
|
//! parameters of a point on the transformed surface.
|
||||||
//!
|
//! @code
|
||||||
//! me->Transformed(T)->Value(U',V')
|
//! me->Transformed(T)->Value(U',V')
|
||||||
//!
|
//! @endcode
|
||||||
//! is the same point as
|
//! is the same point as
|
||||||
//!
|
//! @code
|
||||||
//! me->Value(U,V).Transformed(T)
|
//! me->Value(U,V).Transformed(T)
|
||||||
//!
|
//! @endcode
|
||||||
//! Where U',V' are obtained by transforming U,V with
|
//! Where U',V' are obtained by transforming U,V with
|
||||||
//! th 2d transformation returned by
|
//! the 2d transformation returned by
|
||||||
//!
|
//! @code
|
||||||
//! me->ParametricTransformation(T)
|
//! me->ParametricTransformation(T)
|
||||||
//!
|
//! @endcode
|
||||||
//! This methods returns an identity transformation
|
//! This method returns an identity transformation
|
||||||
//!
|
//!
|
||||||
//! It can be redefined. For example on the Plane,
|
//! It can be redefined. For example on the Plane,
|
||||||
//! Cylinder, Cone, Revolved and Extruded surfaces.
|
//! Cylinder, Cone, Revolved and Extruded surfaces.
|
||||||
@ -199,7 +196,6 @@ public:
|
|||||||
//! Computes the V isoparametric curve.
|
//! Computes the V isoparametric curve.
|
||||||
Standard_EXPORT virtual Handle(Geom_Curve) VIso (const Standard_Real V) const = 0;
|
Standard_EXPORT virtual Handle(Geom_Curve) VIso (const Standard_Real V) const = 0;
|
||||||
|
|
||||||
|
|
||||||
//! Returns the Global Continuity of the surface in direction U and V :
|
//! Returns the Global Continuity of the surface in direction U and V :
|
||||||
//! C0 : only geometric continuity,
|
//! C0 : only geometric continuity,
|
||||||
//! C1 : continuity of the first derivative all along the surface,
|
//! C1 : continuity of the first derivative all along the surface,
|
||||||
@ -235,13 +231,11 @@ public:
|
|||||||
//! Raised if the continuity of the surface is not C1.
|
//! Raised if the continuity of the surface is not C1.
|
||||||
Standard_EXPORT virtual void D1 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V) const = 0;
|
Standard_EXPORT virtual void D1 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V) const = 0;
|
||||||
|
|
||||||
|
|
||||||
//! Computes the point P, the first and the second derivatives in
|
//! Computes the point P, the first and the second derivatives in
|
||||||
//! the directions U and V at this point.
|
//! the directions U and V at this point.
|
||||||
//! Raised if the continuity of the surface is not C2.
|
//! Raised if the continuity of the surface is not C2.
|
||||||
Standard_EXPORT virtual void D2 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V, gp_Vec& D2U, gp_Vec& D2V, gp_Vec& D2UV) const = 0;
|
Standard_EXPORT virtual void D2 (const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V, gp_Vec& D2U, gp_Vec& D2V, gp_Vec& D2UV) const = 0;
|
||||||
|
|
||||||
|
|
||||||
//! Computes the point P, the first,the second and the third
|
//! Computes the point P, the first,the second and the third
|
||||||
//! derivatives in the directions U and V at this point.
|
//! derivatives in the directions U and V at this point.
|
||||||
//! Raised if the continuity of the surface is not C2.
|
//! Raised if the continuity of the surface is not C2.
|
||||||
@ -256,7 +250,6 @@ public:
|
|||||||
//! Raised if Nu + Nv < 1 or Nu < 0 or Nv < 0.
|
//! Raised if Nu + Nv < 1 or Nu < 0 or Nv < 0.
|
||||||
Standard_EXPORT virtual gp_Vec DN (const Standard_Real U, const Standard_Real V, const Standard_Integer Nu, const Standard_Integer Nv) const = 0;
|
Standard_EXPORT virtual gp_Vec DN (const Standard_Real U, const Standard_Real V, const Standard_Integer Nu, const Standard_Integer Nv) const = 0;
|
||||||
|
|
||||||
|
|
||||||
//! Computes the point of parameter U on the surface.
|
//! Computes the point of parameter U on the surface.
|
||||||
//!
|
//!
|
||||||
//! It is implemented with D0
|
//! It is implemented with D0
|
||||||
@ -268,27 +261,8 @@ public:
|
|||||||
//! Dumps the content of me into the stream
|
//! Dumps the content of me into the stream
|
||||||
Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, Standard_Integer theDepth = -1) const Standard_OVERRIDE;
|
Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, Standard_Integer theDepth = -1) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
DEFINE_STANDARD_RTTIEXT(Geom_Surface,Geom_Geometry)
|
DEFINE_STANDARD_RTTIEXT(Geom_Surface,Geom_Geometry)
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif // _Geom_Surface_HeaderFile
|
#endif // _Geom_Surface_HeaderFile
|
||||||
|
@ -211,37 +211,37 @@ public:
|
|||||||
|
|
||||||
//! Computes the parameters on the transformed surface for
|
//! Computes the parameters on the transformed surface for
|
||||||
//! the transform of the point of parameters U,V on <me>.
|
//! the transform of the point of parameters U,V on <me>.
|
||||||
//!
|
//! @code
|
||||||
//! me->Transformed(T)->Value(U',V')
|
//! me->Transformed(T)->Value(U',V')
|
||||||
//!
|
//! @endcode
|
||||||
//! is the same point as
|
//! is the same point as
|
||||||
//!
|
//! @code
|
||||||
//! me->Value(U,V).Transformed(T)
|
//! me->Value(U,V).Transformed(T)
|
||||||
//!
|
//! @endcode
|
||||||
//! Where U',V' are the new values of U,V after calling
|
//! Where U',V' are the new values of U,V after calling
|
||||||
//!
|
//! @code
|
||||||
//! me->TranformParameters(U,V,T)
|
//! me->TransformParameters(U,V,T)
|
||||||
//!
|
//! @endcode
|
||||||
//! This methods multiplies :
|
//! This method multiplies:
|
||||||
//! U by BasisCurve()->ParametricTransformation(T)
|
//! U by BasisCurve()->ParametricTransformation(T)
|
||||||
//! V by T.ScaleFactor()
|
//! V by T.ScaleFactor()
|
||||||
Standard_EXPORT virtual void TransformParameters (Standard_Real& U, Standard_Real& V, const gp_Trsf& T) const Standard_OVERRIDE;
|
Standard_EXPORT virtual void TransformParameters (Standard_Real& U, Standard_Real& V, const gp_Trsf& T) const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Returns a 2d transformation used to find the new
|
//! Returns a 2d transformation used to find the new
|
||||||
//! parameters of a point on the transformed surface.
|
//! parameters of a point on the transformed surface.
|
||||||
//!
|
//! @code
|
||||||
//! me->Transformed(T)->Value(U',V')
|
//! me->Transformed(T)->Value(U',V')
|
||||||
//!
|
//! @endcode
|
||||||
//! is the same point as
|
//! is the same point as
|
||||||
//!
|
//! @code
|
||||||
//! me->Value(U,V).Transformed(T)
|
//! me->Value(U,V).Transformed(T)
|
||||||
//!
|
//! @endcode
|
||||||
//! Where U',V' are obtained by transforming U,V with
|
//! Where U',V' are obtained by transforming U,V with
|
||||||
//! th 2d transformation returned by
|
//! the 2d transformation returned by
|
||||||
//!
|
//! @code
|
||||||
//! me->ParametricTransformation(T)
|
//! me->ParametricTransformation(T)
|
||||||
//!
|
//! @endcode
|
||||||
//! This methods returns a scale
|
//! This method returns a scale
|
||||||
//! U by BasisCurve()->ParametricTransformation(T)
|
//! U by BasisCurve()->ParametricTransformation(T)
|
||||||
//! V by T.ScaleFactor()
|
//! V by T.ScaleFactor()
|
||||||
Standard_EXPORT virtual gp_GTrsf2d ParametricTransformation (const gp_Trsf& T) const Standard_OVERRIDE;
|
Standard_EXPORT virtual gp_GTrsf2d ParametricTransformation (const gp_Trsf& T) const Standard_OVERRIDE;
|
||||||
|
@ -191,36 +191,35 @@ public:
|
|||||||
|
|
||||||
//! Computes the parameters on the transformed surface for
|
//! Computes the parameters on the transformed surface for
|
||||||
//! the transform of the point of parameters U,V on <me>.
|
//! the transform of the point of parameters U,V on <me>.
|
||||||
//!
|
//! @code
|
||||||
//! me->Transformed(T)->Value(U',V')
|
//! me->Transformed(T)->Value(U',V')
|
||||||
//!
|
//! @endcode
|
||||||
//! is the same point as
|
//! is the same point as
|
||||||
//!
|
//! @code
|
||||||
//! me->Value(U,V).Transformed(T)
|
//! me->Value(U,V).Transformed(T)
|
||||||
//!
|
//! @endcode
|
||||||
//! Where U',V' are the new values of U,V after calling
|
//! Where U',V' are the new values of U,V after calling
|
||||||
//!
|
//! @code
|
||||||
//! me->TranformParameters(U,V,T)
|
//! me->TransformParameters(U,V,T)
|
||||||
//!
|
//! @endcode
|
||||||
//! This methods multiplies V by
|
//! This method multiplies V by BasisCurve()->ParametricTransformation(T)
|
||||||
//! BasisCurve()->ParametricTransformation(T)
|
|
||||||
Standard_EXPORT virtual void TransformParameters (Standard_Real& U, Standard_Real& V, const gp_Trsf& T) const Standard_OVERRIDE;
|
Standard_EXPORT virtual void TransformParameters (Standard_Real& U, Standard_Real& V, const gp_Trsf& T) const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Returns a 2d transformation used to find the new
|
//! Returns a 2d transformation used to find the new
|
||||||
//! parameters of a point on the transformed surface.
|
//! parameters of a point on the transformed surface.
|
||||||
//!
|
//! @code
|
||||||
//! me->Transformed(T)->Value(U',V')
|
//! me->Transformed(T)->Value(U',V')
|
||||||
//!
|
//! @endcode
|
||||||
//! is the same point as
|
//! is the same point as
|
||||||
//!
|
//! @code
|
||||||
//! me->Value(U,V).Transformed(T)
|
//! me->Value(U,V).Transformed(T)
|
||||||
//!
|
//! @endcode
|
||||||
//! Where U',V' are obtained by transforming U,V with
|
//! Where U',V' are obtained by transforming U,V with
|
||||||
//! th 2d transformation returned by
|
//! the 2d transformation returned by
|
||||||
//!
|
//! @code
|
||||||
//! me->ParametricTransformation(T)
|
//! me->ParametricTransformation(T)
|
||||||
//!
|
//! @endcode
|
||||||
//! This methods returns a scale centered on the
|
//! This method returns a scale centered on the
|
||||||
//! U axis with BasisCurve()->ParametricTransformation(T)
|
//! U axis with BasisCurve()->ParametricTransformation(T)
|
||||||
Standard_EXPORT virtual gp_GTrsf2d ParametricTransformation (const gp_Trsf& T) const Standard_OVERRIDE;
|
Standard_EXPORT virtual gp_GTrsf2d ParametricTransformation (const gp_Trsf& T) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ class GeomFill_SweepFunction;
|
|||||||
DEFINE_STANDARD_HANDLE(GeomFill_SweepFunction, Approx_SweepFunction)
|
DEFINE_STANDARD_HANDLE(GeomFill_SweepFunction, Approx_SweepFunction)
|
||||||
|
|
||||||
//! Function to approximate by SweepApproximation from
|
//! Function to approximate by SweepApproximation from
|
||||||
//! Approx. To bulid general sweep Surface.
|
//! Approx. To build general sweep Surface.
|
||||||
class GeomFill_SweepFunction : public Approx_SweepFunction
|
class GeomFill_SweepFunction : public Approx_SweepFunction
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -55,18 +55,18 @@ public:
|
|||||||
//! compute the section for v = param
|
//! compute the section for v = param
|
||||||
Standard_EXPORT virtual Standard_Boolean D0 (const Standard_Real Param, const Standard_Real First, const Standard_Real Last, TColgp_Array1OfPnt& Poles, TColgp_Array1OfPnt2d& Poles2d, TColStd_Array1OfReal& Weigths) Standard_OVERRIDE;
|
Standard_EXPORT virtual Standard_Boolean D0 (const Standard_Real Param, const Standard_Real First, const Standard_Real Last, TColgp_Array1OfPnt& Poles, TColgp_Array1OfPnt2d& Poles2d, TColStd_Array1OfReal& Weigths) Standard_OVERRIDE;
|
||||||
|
|
||||||
//! compute the first derivative in v direction of the
|
//! compute the first derivative in v direction of the
|
||||||
//! section for v = param
|
//! section for v = param
|
||||||
Standard_EXPORT virtual Standard_Boolean D1 (const Standard_Real Param, const Standard_Real First, const Standard_Real Last, TColgp_Array1OfPnt& Poles, TColgp_Array1OfVec& DPoles, TColgp_Array1OfPnt2d& Poles2d, TColgp_Array1OfVec2d& DPoles2d, TColStd_Array1OfReal& Weigths, TColStd_Array1OfReal& DWeigths) Standard_OVERRIDE;
|
Standard_EXPORT virtual Standard_Boolean D1 (const Standard_Real Param, const Standard_Real First, const Standard_Real Last, TColgp_Array1OfPnt& Poles, TColgp_Array1OfVec& DPoles, TColgp_Array1OfPnt2d& Poles2d, TColgp_Array1OfVec2d& DPoles2d, TColStd_Array1OfReal& Weigths, TColStd_Array1OfReal& DWeigths) Standard_OVERRIDE;
|
||||||
|
|
||||||
//! compute the second derivative in v direction of the
|
//! compute the second derivative in v direction of the
|
||||||
//! section for v = param
|
//! section for v = param
|
||||||
Standard_EXPORT virtual Standard_Boolean D2 (const Standard_Real Param, const Standard_Real First, const Standard_Real Last, TColgp_Array1OfPnt& Poles, TColgp_Array1OfVec& DPoles, TColgp_Array1OfVec& D2Poles, TColgp_Array1OfPnt2d& Poles2d, TColgp_Array1OfVec2d& DPoles2d, TColgp_Array1OfVec2d& D2Poles2d, TColStd_Array1OfReal& Weigths, TColStd_Array1OfReal& DWeigths, TColStd_Array1OfReal& D2Weigths) Standard_OVERRIDE;
|
Standard_EXPORT virtual Standard_Boolean D2 (const Standard_Real Param, const Standard_Real First, const Standard_Real Last, TColgp_Array1OfPnt& Poles, TColgp_Array1OfVec& DPoles, TColgp_Array1OfVec& D2Poles, TColgp_Array1OfPnt2d& Poles2d, TColgp_Array1OfVec2d& DPoles2d, TColgp_Array1OfVec2d& D2Poles2d, TColStd_Array1OfReal& Weigths, TColStd_Array1OfReal& DWeigths, TColStd_Array1OfReal& D2Weigths) Standard_OVERRIDE;
|
||||||
|
|
||||||
//! get the number of 2d curves to approximate.
|
//! get the number of 2d curves to approximate.
|
||||||
Standard_EXPORT virtual Standard_Integer Nb2dCurves() const Standard_OVERRIDE;
|
Standard_EXPORT virtual Standard_Integer Nb2dCurves() const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! get the format of an section
|
//! get the format of a section
|
||||||
Standard_EXPORT virtual void SectionShape (Standard_Integer& NbPoles, Standard_Integer& NbKnots, Standard_Integer& Degree) const Standard_OVERRIDE;
|
Standard_EXPORT virtual void SectionShape (Standard_Integer& NbPoles, Standard_Integer& NbKnots, Standard_Integer& Degree) const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! get the Knots of the section
|
//! get the Knots of the section
|
||||||
@ -75,14 +75,14 @@ public:
|
|||||||
//! get the Multplicities of the section
|
//! get the Multplicities of the section
|
||||||
Standard_EXPORT virtual void Mults (TColStd_Array1OfInteger& TMults) const Standard_OVERRIDE;
|
Standard_EXPORT virtual void Mults (TColStd_Array1OfInteger& TMults) const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Returns if the section is rationnal or not
|
//! Returns if the section is rational or not
|
||||||
Standard_EXPORT virtual Standard_Boolean IsRational() const Standard_OVERRIDE;
|
Standard_EXPORT virtual Standard_Boolean IsRational() const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Returns the number of intervals for continuity
|
//! Returns the number of intervals for continuity
|
||||||
//! <S>. May be one if Continuity(me) >= <S>
|
//! <S>. May be one if Continuity(me) >= <S>
|
||||||
Standard_EXPORT virtual Standard_Integer NbIntervals (const GeomAbs_Shape S) const Standard_OVERRIDE;
|
Standard_EXPORT virtual Standard_Integer NbIntervals (const GeomAbs_Shape S) const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Stores in <T> the parameters bounding the intervals
|
//! Stores in <T> the parameters bounding the intervals
|
||||||
//! of continuity <S>.
|
//! of continuity <S>.
|
||||||
//!
|
//!
|
||||||
//! The array must provide enough room to accommodate
|
//! The array must provide enough room to accommodate
|
||||||
@ -95,7 +95,7 @@ public:
|
|||||||
//! function is not Cn.
|
//! function is not Cn.
|
||||||
Standard_EXPORT virtual void SetInterval (const Standard_Real First, const Standard_Real Last) Standard_OVERRIDE;
|
Standard_EXPORT virtual void SetInterval (const Standard_Real First, const Standard_Real Last) Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Returns the resolutions in the sub-space 2d <Index>
|
//! Returns the resolutions in the sub-space 2d <Index>
|
||||||
//! This information is usfull to find an good tolerance in
|
//! This information is usfull to find an good tolerance in
|
||||||
//! 2d approximation.
|
//! 2d approximation.
|
||||||
//! Warning: Used only if Nb2dCurve > 0
|
//! Warning: Used only if Nb2dCurve > 0
|
||||||
|
@ -49,7 +49,7 @@ public:
|
|||||||
const Standard_Real theLast,
|
const Standard_Real theLast,
|
||||||
const Standard_Real theTolRange = Precision::PConfusion());
|
const Standard_Real theTolRange = Precision::PConfusion());
|
||||||
|
|
||||||
//! Initializes all members by dafault values
|
//! Initializes all members by default values
|
||||||
Standard_EXPORT void Init();
|
Standard_EXPORT void Init();
|
||||||
|
|
||||||
//! Computes the max distance for the 3d curve <myCurve>
|
//! Computes the max distance for the 3d curve <myCurve>
|
||||||
|
@ -68,12 +68,13 @@ public:
|
|||||||
|
|
||||||
//! Return the parameter on the Ureversed surface for
|
//! Return the parameter on the Ureversed surface for
|
||||||
//! the point of parameter U on <me>.
|
//! the point of parameter U on <me>.
|
||||||
//!
|
//! @code
|
||||||
//! me->UReversed()->Value(me->UReversedParameter(U),V)
|
//! me->UReversed()->Value(me->UReversedParameter(U),V)
|
||||||
//!
|
//! @endcode
|
||||||
//! is the same point as
|
//! is the same point as
|
||||||
//!
|
//! @code
|
||||||
//! me->Value(U,V)
|
//! me->Value(U,V)
|
||||||
|
//! @endcode
|
||||||
Standard_EXPORT Standard_Real UReversedParameter (const Standard_Real U) const Standard_OVERRIDE;
|
Standard_EXPORT Standard_Real UReversedParameter (const Standard_Real U) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
@ -83,27 +84,28 @@ public:
|
|||||||
|
|
||||||
//! Return the parameter on the Vreversed surface for
|
//! Return the parameter on the Vreversed surface for
|
||||||
//! the point of parameter V on <me>.
|
//! the point of parameter V on <me>.
|
||||||
//!
|
//! @code
|
||||||
//! me->VReversed()->Value(U,me->VReversedParameter(V))
|
//! me->VReversed()->Value(U,me->VReversedParameter(V))
|
||||||
//!
|
//! @endcode
|
||||||
//! is the same point as
|
//! is the same point as
|
||||||
//!
|
//! @code
|
||||||
//! me->Value(U,V)
|
//! me->Value(U,V)
|
||||||
|
//! @endcode
|
||||||
Standard_EXPORT Standard_Real VReversedParameter (const Standard_Real V) const Standard_OVERRIDE;
|
Standard_EXPORT Standard_Real VReversedParameter (const Standard_Real V) const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Computes the parameters on the transformed surface for
|
//! Computes the parameters on the transformed surface for
|
||||||
//! the transform of the point of parameters U,V on <me>.
|
//! the transform of the point of parameters U,V on <me>.
|
||||||
//!
|
//! @code
|
||||||
//! me->Transformed(T)->Value(U',V')
|
//! me->Transformed(T)->Value(U',V')
|
||||||
//!
|
//! @endcode
|
||||||
//! is the same point as
|
//! is the same point as
|
||||||
//!
|
//! @code
|
||||||
//! me->Value(U,V).Transformed(T)
|
//! me->Value(U,V).Transformed(T)
|
||||||
//!
|
//! @endcode
|
||||||
//! Where U',V' are the new values of U,V after calling
|
//! Where U',V' are the new values of U,V after calling
|
||||||
//!
|
//! @code
|
||||||
//! me->TranformParameters(U,V,T)
|
//! me->TransformParameters(U,V,T)
|
||||||
//!
|
//! @endcode
|
||||||
//! This methods does not change <U> and <V>
|
//! This methods does not change <U> and <V>
|
||||||
//!
|
//!
|
||||||
//! It can be redefined. For example on the Plane,
|
//! It can be redefined. For example on the Plane,
|
||||||
@ -112,19 +114,19 @@ public:
|
|||||||
|
|
||||||
//! Returns a 2d transformation used to find the new
|
//! Returns a 2d transformation used to find the new
|
||||||
//! parameters of a point on the transformed surface.
|
//! parameters of a point on the transformed surface.
|
||||||
//!
|
//! @code
|
||||||
//! me->Transformed(T)->Value(U',V')
|
//! me->Transformed(T)->Value(U',V')
|
||||||
//!
|
//! @endcode
|
||||||
//! is the same point as
|
//! is the same point as
|
||||||
//!
|
//! @code
|
||||||
//! me->Value(U,V).Transformed(T)
|
//! me->Value(U,V).Transformed(T)
|
||||||
//!
|
//! @endcode
|
||||||
//! Where U',V' are obtained by transforming U,V with
|
//! Where U',V' are obtained by transforming U,V with
|
||||||
//! th 2d transformation returned by
|
//! the 2d transformation returned by
|
||||||
//!
|
//! @code
|
||||||
//! me->ParametricTransformation(T)
|
//! me->ParametricTransformation(T)
|
||||||
//!
|
//! @endcode
|
||||||
//! This methods returns an identity transformation
|
//! This method returns an identity transformation
|
||||||
//!
|
//!
|
||||||
//! It can be redefined. For example on the Plane,
|
//! It can be redefined. For example on the Plane,
|
||||||
//! Cylinder, Cone, Revolved and Extruded surfaces.
|
//! Cylinder, Cone, Revolved and Extruded surfaces.
|
||||||
|
@ -48,7 +48,7 @@ public:
|
|||||||
Standard_EXPORT HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter(const Standard_Address& Curve, const Standard_Integer NbPnt, const IntRes2d_Domain& Domain, const Standard_Real Tol);
|
Standard_EXPORT HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter(const Standard_Address& Curve, const Standard_Integer NbPnt, const IntRes2d_Domain& Domain, const Standard_Real Tol);
|
||||||
|
|
||||||
//! The current polygon is modified if most
|
//! The current polygon is modified if most
|
||||||
//! of the points of the polygon are are
|
//! of the points of the polygon are
|
||||||
//! outside the box <OtherBox>. In this
|
//! outside the box <OtherBox>. In this
|
||||||
//! situation, bounds are computed to build
|
//! situation, bounds are computed to build
|
||||||
//! a polygon inside or near the OtherBox.
|
//! a polygon inside or near the OtherBox.
|
||||||
|
@ -51,8 +51,7 @@ public:
|
|||||||
//! Returns the current vertex
|
//! Returns the current vertex
|
||||||
Standard_EXPORT const HLRAlgo_Intersection& Current() const;
|
Standard_EXPORT const HLRAlgo_Intersection& Current() const;
|
||||||
|
|
||||||
//! Returns True if the current vertex is is on the
|
//! Returns True if the current vertex is on the boundary of the edge.
|
||||||
//! boundary of the edge.
|
|
||||||
Standard_EXPORT Standard_Boolean IsBoundary() const;
|
Standard_EXPORT Standard_Boolean IsBoundary() const;
|
||||||
|
|
||||||
//! Returns True if the current vertex is an
|
//! Returns True if the current vertex is an
|
||||||
|
@ -219,7 +219,7 @@ public:
|
|||||||
|
|
||||||
//! Move assignment.
|
//! Move assignment.
|
||||||
//! This array will borrow all the data from theOther.
|
//! This array will borrow all the data from theOther.
|
||||||
//! The moved object will be left unitialized and should not be used anymore.
|
//! The moved object will be left uninitialized and should not be used anymore.
|
||||||
NCollection_Array2& Move (NCollection_Array2& theOther)
|
NCollection_Array2& Move (NCollection_Array2& theOther)
|
||||||
{
|
{
|
||||||
if (&theOther == this)
|
if (&theOther == this)
|
||||||
|
@ -45,7 +45,7 @@ enum NCollection_CellFilter_Action
|
|||||||
* search for one bullet (more precisely, O(M) where M is number of cells covered
|
* search for one bullet (more precisely, O(M) where M is number of cells covered
|
||||||
* by the bullet).
|
* by the bullet).
|
||||||
*
|
*
|
||||||
* The idea behind the algorithm is to separate each co-ordinate of the space
|
* The idea behind the algorithm is to separate each coordinate of the space
|
||||||
* into equal-size cells. Note that this works well when cell size is
|
* into equal-size cells. Note that this works well when cell size is
|
||||||
* approximately equal to the characteristic size of the involved objects
|
* approximately equal to the characteristic size of the involved objects
|
||||||
* (targets and bullets; including tolerance eventually used for coincidence
|
* (targets and bullets; including tolerance eventually used for coincidence
|
||||||
@ -56,7 +56,7 @@ enum NCollection_CellFilter_Action
|
|||||||
* The target objects to be searched are added to the tool by methods Add();
|
* The target objects to be searched are added to the tool by methods Add();
|
||||||
* each target is classified as belonging to some cell(s). The data on cells
|
* each target is classified as belonging to some cell(s). The data on cells
|
||||||
* (list of targets found in each one) are stored in the hash map with key being
|
* (list of targets found in each one) are stored in the hash map with key being
|
||||||
* cumulative index of the cell by all co-ordinates.
|
* cumulative index of the cell by all coordinates.
|
||||||
* Thus the time needed to find targets in some cell is O(1) * O(number of
|
* Thus the time needed to find targets in some cell is O(1) * O(number of
|
||||||
* targets in the cell).
|
* targets in the cell).
|
||||||
*
|
*
|
||||||
@ -123,7 +123,7 @@ public:
|
|||||||
//! Constructor; initialized by dimension count and cell size.
|
//! Constructor; initialized by dimension count and cell size.
|
||||||
//!
|
//!
|
||||||
//! Note: the cell size must be ensured to be greater than
|
//! Note: the cell size must be ensured to be greater than
|
||||||
//! maximal co-ordinate of the involved points divided by INT_MAX,
|
//! maximal coordinate of the involved points divided by INT_MAX,
|
||||||
//! in order to avoid integer overflow of cell index.
|
//! in order to avoid integer overflow of cell index.
|
||||||
//!
|
//!
|
||||||
//! By default cell size is 0, which is invalid; thus if default
|
//! By default cell size is 0, which is invalid; thus if default
|
||||||
@ -173,12 +173,12 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
//! Adds a target object for further search in the range of cells
|
//! Adds a target object for further search in the range of cells
|
||||||
//! defined by two points (the first point must have all co-ordinates equal or
|
//! defined by two points (the first point must have all coordinates equal or
|
||||||
//! less than the same co-ordinate of the second point)
|
//! less than the same coordinate of the second point)
|
||||||
void Add (const Target& theTarget,
|
void Add (const Target& theTarget,
|
||||||
const Point &thePntMin, const Point &thePntMax)
|
const Point &thePntMin, const Point &thePntMax)
|
||||||
{
|
{
|
||||||
// get cells range by minimal and maximal co-ordinates
|
// get cells range by minimal and maximal coordinates
|
||||||
Cell aCellMin (thePntMin, myCellSize);
|
Cell aCellMin (thePntMin, myCellSize);
|
||||||
Cell aCellMax (thePntMax, myCellSize);
|
Cell aCellMax (thePntMax, myCellSize);
|
||||||
Cell aCell = aCellMin;
|
Cell aCell = aCellMin;
|
||||||
@ -196,13 +196,13 @@ public:
|
|||||||
|
|
||||||
//! Find a target object in the range of cells defined by two points and
|
//! Find a target object in the range of cells defined by two points and
|
||||||
//! remove it from the structures
|
//! remove it from the structures
|
||||||
//! (the first point must have all co-ordinates equal or
|
//! (the first point must have all coordinates equal or
|
||||||
//! less than the same co-ordinate of the second point).
|
//! less than the same coordinate of the second point).
|
||||||
//! For usage of this method "operator ==" should be defined for Target.
|
//! For usage of this method "operator ==" should be defined for Target.
|
||||||
void Remove (const Target& theTarget,
|
void Remove (const Target& theTarget,
|
||||||
const Point &thePntMin, const Point &thePntMax)
|
const Point &thePntMin, const Point &thePntMax)
|
||||||
{
|
{
|
||||||
// get cells range by minimal and maximal co-ordinates
|
// get cells range by minimal and maximal coordinates
|
||||||
Cell aCellMin (thePntMin, myCellSize);
|
Cell aCellMin (thePntMin, myCellSize);
|
||||||
Cell aCellMax (thePntMax, myCellSize);
|
Cell aCellMax (thePntMax, myCellSize);
|
||||||
Cell aCell = aCellMin;
|
Cell aCell = aCellMin;
|
||||||
@ -218,12 +218,12 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
//! Inspect all targets in the cells range limited by two given points
|
//! Inspect all targets in the cells range limited by two given points
|
||||||
//! (the first point must have all co-ordinates equal or
|
//! (the first point must have all coordinates equal or
|
||||||
//! less than the same co-ordinate of the second point)
|
//! less than the same coordinate of the second point)
|
||||||
void Inspect (const Point& thePntMin, const Point& thePntMax,
|
void Inspect (const Point& thePntMin, const Point& thePntMax,
|
||||||
Inspector &theInspector)
|
Inspector &theInspector)
|
||||||
{
|
{
|
||||||
// get cells range by minimal and maximal co-ordinates
|
// get cells range by minimal and maximal coordinates
|
||||||
Cell aCellMin (thePntMin, myCellSize);
|
Cell aCellMin (thePntMin, myCellSize);
|
||||||
Cell aCellMax (thePntMax, myCellSize);
|
Cell aCellMax (thePntMax, myCellSize);
|
||||||
Cell aCell = aCellMin;
|
Cell aCell = aCellMin;
|
||||||
@ -254,7 +254,7 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Auxilary structure representing a cell in the space.
|
* Auxiliary structure representing a cell in the space.
|
||||||
* Cells are stored in the map, each cell contains list of objects
|
* Cells are stored in the map, each cell contains list of objects
|
||||||
* that belong to that cell.
|
* that belong to that cell.
|
||||||
*/
|
*/
|
||||||
@ -501,7 +501,7 @@ struct NCollection_CellFilter_InspectorXYZ
|
|||||||
//! Points type
|
//! Points type
|
||||||
typedef gp_XYZ Point;
|
typedef gp_XYZ Point;
|
||||||
|
|
||||||
//! Access to co-ordinate
|
//! Access to coordinate
|
||||||
static Standard_Real Coord (int i, const Point &thePnt) { return thePnt.Coord(i+1); }
|
static Standard_Real Coord (int i, const Point &thePnt) { return thePnt.Coord(i+1); }
|
||||||
|
|
||||||
//! Auxiliary method to shift point by each coordinate on given value;
|
//! Auxiliary method to shift point by each coordinate on given value;
|
||||||
@ -524,7 +524,7 @@ struct NCollection_CellFilter_InspectorXY
|
|||||||
//! Points type
|
//! Points type
|
||||||
typedef gp_XY Point;
|
typedef gp_XY Point;
|
||||||
|
|
||||||
//! Access to co-ordinate
|
//! Access to coordinate
|
||||||
static Standard_Real Coord (int i, const Point &thePnt) { return thePnt.Coord(i+1); }
|
static Standard_Real Coord (int i, const Point &thePnt) { return thePnt.Coord(i+1); }
|
||||||
|
|
||||||
//! Auxiliary method to shift point by each coordinate on given value;
|
//! Auxiliary method to shift point by each coordinate on given value;
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
// Array1OfItem tttab (ttab(10),10,20); // a slice of ttab
|
// Array1OfItem tttab (ttab(10),10,20); // a slice of ttab
|
||||||
// If you want to reindex an array from 1 to Length do :
|
// If you want to reindex an array from 1 to Length do :
|
||||||
// Array1 tab1(tab(tab.Lower()),1,tab.Length());
|
// Array1 tab1(tab(tab.Lower()),1,tab.Length());
|
||||||
// Warning: Programs client of such a class must be independant
|
// Warning: Programs client of such a class must be independent
|
||||||
// of the range of the first element. Then, a C++ for
|
// of the range of the first element. Then, a C++ for
|
||||||
// loop must be written like this
|
// loop must be written like this
|
||||||
// for (i = A.Lower(); i <= A.Upper(); i++)
|
// for (i = A.Lower(); i <= A.Upper(); i++)
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
// Purpose: The class Array2 represents bi-dimensional arrays
|
// Purpose: The class Array2 represents bi-dimensional arrays
|
||||||
// of fixed size known at run time.
|
// of fixed size known at run time.
|
||||||
// The ranges of indices are user defined.
|
// The ranges of indices are user defined.
|
||||||
// Warning: Programs clients of such class must be independant
|
// Warning: Programs clients of such class must be independent
|
||||||
// of the range of the first element. Then, a C++ for
|
// of the range of the first element. Then, a C++ for
|
||||||
// loop must be written like this
|
// loop must be written like this
|
||||||
// for (i = A.LowerRow(); i <= A.UpperRow(); i++)
|
// for (i = A.LowerRow(); i <= A.UpperRow(); i++)
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
// ::HashCode must be defined in the global namespace
|
// ::HashCode must be defined in the global namespace
|
||||||
// To compare two keys the function ::IsEqual must be
|
// To compare two keys the function ::IsEqual must be
|
||||||
// defined in the global namespace.
|
// defined in the global namespace.
|
||||||
// The performance of a Map is conditionned by its
|
// The performance of a Map is conditioned by its
|
||||||
// number of buckets that should be kept greater to
|
// number of buckets that should be kept greater to
|
||||||
// the number of keys. This map has an automatic
|
// the number of keys. This map has an automatic
|
||||||
// management of the number of buckets. It is resized
|
// management of the number of buckets. It is resized
|
||||||
|
@ -74,7 +74,7 @@ class NCollection_IncAllocator : public NCollection_BaseAllocator
|
|||||||
const size_t newSize);
|
const size_t newSize);
|
||||||
|
|
||||||
//! Re-initialize the allocator so that the next Allocate call should
|
//! Re-initialize the allocator so that the next Allocate call should
|
||||||
//! start allocating in the very begining as though the allocator is just
|
//! start allocating in the very beginning as though the allocator is just
|
||||||
//! constructed. Warning: make sure that all previously allocated data are
|
//! constructed. Warning: make sure that all previously allocated data are
|
||||||
//! no more used in your code!
|
//! no more used in your code!
|
||||||
//! @param doReleaseMem
|
//! @param doReleaseMem
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
* To compare two keys the function ::IsEqual must be
|
* To compare two keys the function ::IsEqual must be
|
||||||
* defined in the global namespace.
|
* defined in the global namespace.
|
||||||
*
|
*
|
||||||
* The performance of a Map is conditionned by its
|
* The performance of a Map is conditioned by its
|
||||||
* number of buckets that should be kept greater to
|
* number of buckets that should be kept greater to
|
||||||
* the number of keys. This map has an automatic
|
* the number of keys. This map has an automatic
|
||||||
* management of the number of buckets. It is resized
|
* management of the number of buckets. It is resized
|
||||||
|
@ -296,7 +296,7 @@ public:
|
|||||||
const TreeNode& Root () const { return *myRoot; }
|
const TreeNode& Root () const { return *myRoot; }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Desctructor.
|
* Destructor.
|
||||||
*/
|
*/
|
||||||
virtual ~NCollection_UBTree () { Clear(); }
|
virtual ~NCollection_UBTree () { Clear(); }
|
||||||
|
|
||||||
|
@ -107,7 +107,7 @@ public:
|
|||||||
//! Buffer-fetching getter.
|
//! Buffer-fetching getter.
|
||||||
const Type* BufferNext() const { return myPosNext; }
|
const Type* BufferNext() const { return myPosNext; }
|
||||||
|
|
||||||
//! @return the index displacement from iterator intialization
|
//! @return the index displacement from iterator initialization
|
||||||
//! (first symbol has index 0)
|
//! (first symbol has index 0)
|
||||||
Standard_Integer Index() const
|
Standard_Integer Index() const
|
||||||
{
|
{
|
||||||
@ -235,7 +235,7 @@ private: //! @name private fields
|
|||||||
|
|
||||||
const Type* myPosition; //!< buffer position of the first element in the current symbol
|
const Type* myPosition; //!< buffer position of the first element in the current symbol
|
||||||
const Type* myPosNext; //!< buffer position of the first element in the next symbol
|
const Type* myPosNext; //!< buffer position of the first element in the next symbol
|
||||||
Standard_Integer myCharIndex; //!< index displacement from iterator intialization
|
Standard_Integer myCharIndex; //!< index displacement from iterator initialization
|
||||||
Standard_Utf32Char myCharUtf32; //!< Unicode symbol stored at the current buffer position
|
Standard_Utf32Char myCharUtf32; //!< Unicode symbol stored at the current buffer position
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -163,7 +163,7 @@ public:
|
|||||||
const Standard_Integer theEnd) const;
|
const Standard_Integer theEnd) const;
|
||||||
|
|
||||||
//! Returns NULL-terminated Unicode string.
|
//! Returns NULL-terminated Unicode string.
|
||||||
//! Should not be modifed or deleted!
|
//! Should not be modified or deleted!
|
||||||
//! @return (const Type* ) pointer to string
|
//! @return (const Type* ) pointer to string
|
||||||
const Type* ToCString() const
|
const Type* ToCString() const
|
||||||
{
|
{
|
||||||
|
@ -216,7 +216,7 @@ void NCollection_UtfString<Type>::Swap (NCollection_UtfString<Type>& theOther)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(__ANDROID__)
|
#if !defined(__ANDROID__)
|
||||||
//! Auxiliary convertion tool.
|
//! Auxiliary conversion tool.
|
||||||
class NCollection_UtfStringTool
|
class NCollection_UtfStringTool
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -277,13 +277,13 @@ public:
|
|||||||
return x() * x() + y() * y();
|
return x() * x() + y() * y();
|
||||||
}
|
}
|
||||||
|
|
||||||
//! Constuct DX unit vector.
|
//! Construct DX unit vector.
|
||||||
static NCollection_Vec2 DX()
|
static NCollection_Vec2 DX()
|
||||||
{
|
{
|
||||||
return NCollection_Vec2 (Element_t(1), Element_t(0));
|
return NCollection_Vec2 (Element_t(1), Element_t(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
//! Constuct DY unit vector.
|
//! Construct DY unit vector.
|
||||||
static NCollection_Vec2 DY()
|
static NCollection_Vec2 DY()
|
||||||
{
|
{
|
||||||
return NCollection_Vec2 (Element_t(0), Element_t(1));
|
return NCollection_Vec2 (Element_t(0), Element_t(1));
|
||||||
|
@ -383,19 +383,19 @@ public:
|
|||||||
return theFrom * (Element_t(1) - theT) + theTo * theT;
|
return theFrom * (Element_t(1) - theT) + theTo * theT;
|
||||||
}
|
}
|
||||||
|
|
||||||
//! Constuct DX unit vector.
|
//! Construct DX unit vector.
|
||||||
static NCollection_Vec3 DX()
|
static NCollection_Vec3 DX()
|
||||||
{
|
{
|
||||||
return NCollection_Vec3 (Element_t(1), Element_t(0), Element_t(0));
|
return NCollection_Vec3 (Element_t(1), Element_t(0), Element_t(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
//! Constuct DY unit vector.
|
//! Construct DY unit vector.
|
||||||
static NCollection_Vec3 DY()
|
static NCollection_Vec3 DY()
|
||||||
{
|
{
|
||||||
return NCollection_Vec3 (Element_t(0), Element_t(1), Element_t(0));
|
return NCollection_Vec3 (Element_t(0), Element_t(1), Element_t(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
//! Constuct DZ unit vector.
|
//! Construct DZ unit vector.
|
||||||
static NCollection_Vec3 DZ()
|
static NCollection_Vec3 DZ()
|
||||||
{
|
{
|
||||||
return NCollection_Vec3 (Element_t(0), Element_t(0), Element_t(1));
|
return NCollection_Vec3 (Element_t(0), Element_t(0), Element_t(1));
|
||||||
|
@ -37,7 +37,7 @@ class Storage_Schema;
|
|||||||
class PCDM_StorageDriver;
|
class PCDM_StorageDriver;
|
||||||
DEFINE_STANDARD_HANDLE(PCDM_StorageDriver, PCDM_Writer)
|
DEFINE_STANDARD_HANDLE(PCDM_StorageDriver, PCDM_Writer)
|
||||||
|
|
||||||
//! persistent implemention of storage.
|
//! persistent implementation of storage.
|
||||||
//!
|
//!
|
||||||
//! The application must redefine one the two Make()
|
//! The application must redefine one the two Make()
|
||||||
//! methods. The first one, if the application wants to
|
//! methods. The first one, if the application wants to
|
||||||
|
@ -1189,7 +1189,7 @@ Standard_Integer PLib::EvalCubicHermite
|
|||||||
//
|
//
|
||||||
//
|
//
|
||||||
// initialise it at the stage 2 of the building algorithm
|
// initialise it at the stage 2 of the building algorithm
|
||||||
// for devided differences
|
// for divided differences
|
||||||
//
|
//
|
||||||
inverse = FirstLast[1] - FirstLast[0] ;
|
inverse = FirstLast[1] - FirstLast[0] ;
|
||||||
inverse = 1.0e0 / inverse ;
|
inverse = 1.0e0 / inverse ;
|
||||||
|
@ -153,28 +153,29 @@ public:
|
|||||||
//! Warning: <RationalDerivates> must be dimensionned properly.
|
//! Warning: <RationalDerivates> must be dimensionned properly.
|
||||||
Standard_EXPORT static void RationalDerivatives (const Standard_Integer DerivativesRequest, const Standard_Integer Dimension, Standard_Real& PolesDerivatives, Standard_Real& WeightsDerivatives, Standard_Real& RationalDerivates);
|
Standard_EXPORT static void RationalDerivatives (const Standard_Integer DerivativesRequest, const Standard_Integer Dimension, Standard_Real& PolesDerivatives, Standard_Real& WeightsDerivatives, Standard_Real& RationalDerivates);
|
||||||
|
|
||||||
//! Performs Horner method with synthethic division
|
//! Performs Horner method with synthetic division for derivatives
|
||||||
//! for derivatives
|
|
||||||
//! parameter <U>, with <Degree> and <Dimension>.
|
//! parameter <U>, with <Degree> and <Dimension>.
|
||||||
//! PolynomialCoeff are stored in the following fashion
|
//! PolynomialCoeff are stored in the following fashion
|
||||||
|
//! @code
|
||||||
//! c0(1) c0(2) .... c0(Dimension)
|
//! c0(1) c0(2) .... c0(Dimension)
|
||||||
//! c1(1) c1(2) .... c1(Dimension)
|
//! c1(1) c1(2) .... c1(Dimension)
|
||||||
//!
|
//!
|
||||||
//! cDegree(1) cDegree(2) .... cDegree(Dimension)
|
//! cDegree(1) cDegree(2) .... cDegree(Dimension)
|
||||||
|
//! @endcode
|
||||||
//! where the polynomial is defined as :
|
//! where the polynomial is defined as :
|
||||||
//!
|
//! @code
|
||||||
//! 2 Degree
|
//! 2 Degree
|
||||||
//! c0 + c1 X + c2 X + .... cDegree X
|
//! c0 + c1 X + c2 X + .... cDegree X
|
||||||
//!
|
//! @endcode
|
||||||
//! Results stores the result in the following format
|
//! Results stores the result in the following format
|
||||||
//!
|
//! @code
|
||||||
//! f(1) f(2) .... f(Dimension)
|
//! f(1) f(2) .... f(Dimension)
|
||||||
//! (1) (1) (1)
|
//! (1) (1) (1)
|
||||||
//! f (1) f (2) .... f (Dimension)
|
//! f (1) f (2) .... f (Dimension)
|
||||||
//!
|
//!
|
||||||
//! (DerivativeRequest) (DerivativeRequest)
|
//! (DerivativeRequest) (DerivativeRequest)
|
||||||
//! f (1) f (Dimension)
|
//! f (1) f (Dimension)
|
||||||
//!
|
//! @endcode
|
||||||
//! this just evaluates the point at parameter U
|
//! this just evaluates the point at parameter U
|
||||||
//!
|
//!
|
||||||
//! Warning: <Results> and <PolynomialCoeff> must be dimensioned properly
|
//! Warning: <Results> and <PolynomialCoeff> must be dimensioned properly
|
||||||
@ -188,6 +189,7 @@ public:
|
|||||||
//! at parameters U,V
|
//! at parameters U,V
|
||||||
//!
|
//!
|
||||||
//! PolynomialCoeff are stored in the following fashion
|
//! PolynomialCoeff are stored in the following fashion
|
||||||
|
//! @code
|
||||||
//! c00(1) .... c00(Dimension)
|
//! c00(1) .... c00(Dimension)
|
||||||
//! c10(1) .... c10(Dimension)
|
//! c10(1) .... c10(Dimension)
|
||||||
//! ....
|
//! ....
|
||||||
@ -202,21 +204,22 @@ public:
|
|||||||
//! c1n(1) .... c1n(Dimension)
|
//! c1n(1) .... c1n(Dimension)
|
||||||
//! ....
|
//! ....
|
||||||
//! cmn(1) .... cmn(Dimension)
|
//! cmn(1) .... cmn(Dimension)
|
||||||
//!
|
//! @endcode
|
||||||
//! where the polynomial is defined as :
|
//! where the polynomial is defined as :
|
||||||
|
//! @code
|
||||||
//! 2 m
|
//! 2 m
|
||||||
//! c00 + c10 U + c20 U + .... + cm0 U
|
//! c00 + c10 U + c20 U + .... + cm0 U
|
||||||
//! 2 m
|
//! 2 m
|
||||||
//! + c01 V + c11 UV + c21 U V + .... + cm1 U V
|
//! + c01 V + c11 UV + c21 U V + .... + cm1 U V
|
||||||
//! n m n
|
//! n m n
|
||||||
//! + .... + c0n V + .... + cmn U V
|
//! + .... + c0n V + .... + cmn U V
|
||||||
//!
|
//! @endcode
|
||||||
//! with m = UDegree and n = VDegree
|
//! with m = UDegree and n = VDegree
|
||||||
//!
|
//!
|
||||||
//! Results stores the result in the following format
|
//! Results stores the result in the following format
|
||||||
//!
|
//! @code
|
||||||
//! f(1) f(2) .... f(Dimension)
|
//! f(1) f(2) .... f(Dimension)
|
||||||
//!
|
//! @endcode
|
||||||
//! Warning: <Results> and <PolynomialCoeff> must be dimensioned properly
|
//! Warning: <Results> and <PolynomialCoeff> must be dimensioned properly
|
||||||
Standard_EXPORT static void EvalPoly2Var (const Standard_Real U, const Standard_Real V, const Standard_Integer UDerivativeOrder, const Standard_Integer VDerivativeOrder, const Standard_Integer UDegree, const Standard_Integer VDegree, const Standard_Integer Dimension, Standard_Real& PolynomialCoeff, Standard_Real& Results);
|
Standard_EXPORT static void EvalPoly2Var (const Standard_Real U, const Standard_Real V, const Standard_Integer UDerivativeOrder, const Standard_Integer VDerivativeOrder, const Standard_Integer UDegree, const Standard_Integer VDegree, const Standard_Integer Dimension, Standard_Real& PolynomialCoeff, Standard_Real& Results);
|
||||||
|
|
||||||
@ -225,11 +228,12 @@ public:
|
|||||||
//! with the requested derivative order
|
//! with the requested derivative order
|
||||||
//! Results will store things in the following format
|
//! Results will store things in the following format
|
||||||
//! with d = DerivativeOrder
|
//! with d = DerivativeOrder
|
||||||
//!
|
//! @code
|
||||||
//! [0], [Dimension-1] : value
|
//! [0], [Dimension-1] : value
|
||||||
//! [Dimension], [Dimension + Dimension-1] : first derivative
|
//! [Dimension], [Dimension + Dimension-1] : first derivative
|
||||||
//!
|
//!
|
||||||
//! [d *Dimension], [d*Dimension + Dimension-1]: dth derivative
|
//! [d *Dimension], [d*Dimension + Dimension-1]: dth derivative
|
||||||
|
//! @endcode
|
||||||
Standard_EXPORT static Standard_Integer EvalLagrange (const Standard_Real U, const Standard_Integer DerivativeOrder, const Standard_Integer Degree, const Standard_Integer Dimension, Standard_Real& ValueArray, Standard_Real& ParameterArray, Standard_Real& Results);
|
Standard_EXPORT static Standard_Integer EvalLagrange (const Standard_Real U, const Standard_Integer DerivativeOrder, const Standard_Integer Degree, const Standard_Integer Dimension, Standard_Real& ValueArray, Standard_Real& ParameterArray, Standard_Real& Results);
|
||||||
|
|
||||||
//! Performs the Cubic Hermite Interpolation of
|
//! Performs the Cubic Hermite Interpolation of
|
||||||
@ -237,28 +241,37 @@ public:
|
|||||||
//! with the requested derivative order.
|
//! with the requested derivative order.
|
||||||
//! ValueArray stores the value at the first and
|
//! ValueArray stores the value at the first and
|
||||||
//! last parameter. It has the following format :
|
//! last parameter. It has the following format :
|
||||||
|
//! @code
|
||||||
//! [0], [Dimension-1] : value at first param
|
//! [0], [Dimension-1] : value at first param
|
||||||
//! [Dimension], [Dimension + Dimension-1] : value at last param
|
//! [Dimension], [Dimension + Dimension-1] : value at last param
|
||||||
|
//! @endcode
|
||||||
//! Derivative array stores the value of the derivatives
|
//! Derivative array stores the value of the derivatives
|
||||||
//! at the first parameter and at the last parameter
|
//! at the first parameter and at the last parameter
|
||||||
//! in the following format
|
//! in the following format
|
||||||
|
//! @code
|
||||||
//! [0], [Dimension-1] : derivative at
|
//! [0], [Dimension-1] : derivative at
|
||||||
|
//! @endcode
|
||||||
//! first param
|
//! first param
|
||||||
|
//! @code
|
||||||
//! [Dimension], [Dimension + Dimension-1] : derivative at
|
//! [Dimension], [Dimension + Dimension-1] : derivative at
|
||||||
|
//! @endcode
|
||||||
//! last param
|
//! last param
|
||||||
//!
|
//!
|
||||||
//! ParameterArray stores the first and last parameter
|
//! ParameterArray stores the first and last parameter
|
||||||
//! in the following format :
|
//! in the following format :
|
||||||
|
//! @code
|
||||||
//! [0] : first parameter
|
//! [0] : first parameter
|
||||||
//! [1] : last parameter
|
//! [1] : last parameter
|
||||||
|
//! @endcode
|
||||||
//!
|
//!
|
||||||
//! Results will store things in the following format
|
//! Results will store things in the following format
|
||||||
//! with d = DerivativeOrder
|
//! with d = DerivativeOrder
|
||||||
//!
|
//! @code
|
||||||
//! [0], [Dimension-1] : value
|
//! [0], [Dimension-1] : value
|
||||||
//! [Dimension], [Dimension + Dimension-1] : first derivative
|
//! [Dimension], [Dimension + Dimension-1] : first derivative
|
||||||
//!
|
//!
|
||||||
//! [d *Dimension], [d*Dimension + Dimension-1]: dth derivative
|
//! [d *Dimension], [d*Dimension + Dimension-1]: dth derivative
|
||||||
|
//! @endcode
|
||||||
Standard_EXPORT static Standard_Integer EvalCubicHermite (const Standard_Real U, const Standard_Integer DerivativeOrder, const Standard_Integer Dimension, Standard_Real& ValueArray, Standard_Real& DerivativeArray, Standard_Real& ParameterArray, Standard_Real& Results);
|
Standard_EXPORT static Standard_Integer EvalCubicHermite (const Standard_Real U, const Standard_Integer DerivativeOrder, const Standard_Integer Dimension, Standard_Real& ValueArray, Standard_Real& DerivativeArray, Standard_Real& ParameterArray, Standard_Real& Results);
|
||||||
|
|
||||||
//! This build the coefficient of Hermite's polynomes on
|
//! This build the coefficient of Hermite's polynomes on
|
||||||
|
@ -34,31 +34,36 @@ class PLib_HermitJacobi;
|
|||||||
DEFINE_STANDARD_HANDLE(PLib_HermitJacobi, PLib_Base)
|
DEFINE_STANDARD_HANDLE(PLib_HermitJacobi, PLib_Base)
|
||||||
|
|
||||||
//! This class provides method to work with Jacobi Polynomials
|
//! This class provides method to work with Jacobi Polynomials
|
||||||
//! relativly to an order of constraint
|
//! relatively to an order of constraint
|
||||||
//! q = myWorkDegree-2*(myNivConstr+1)
|
//! q = myWorkDegree-2*(myNivConstr+1)
|
||||||
//! Jk(t) for k=0,q compose the Jacobi Polynomial base relativly to the weigth W(t)
|
//! Jk(t) for k=0,q compose the Jacobi Polynomial base relatively to the weigth W(t)
|
||||||
//! iorder is the integer value for the constraints:
|
//! iorder is the integer value for the constraints:
|
||||||
//! iorder = 0 <=> ConstraintOrder = GeomAbs_C0
|
//! iorder = 0 <=> ConstraintOrder = GeomAbs_C0
|
||||||
//! iorder = 1 <=> ConstraintOrder = GeomAbs_C1
|
//! iorder = 1 <=> ConstraintOrder = GeomAbs_C1
|
||||||
//! iorder = 2 <=> ConstraintOrder = GeomAbs_C2
|
//! iorder = 2 <=> ConstraintOrder = GeomAbs_C2
|
||||||
//! P(t) = H(t) + W(t) * Q(t) Where W(t) = (1-t**2)**(2*iordre+2)
|
//! P(t) = H(t) + W(t) * Q(t) Where W(t) = (1-t**2)**(2*iordre+2)
|
||||||
//! the coefficients JacCoeff represents P(t) JacCoeff are stored as follow:
|
//! the coefficients JacCoeff represents P(t) JacCoeff are stored as follow:
|
||||||
//!
|
//! @code
|
||||||
//! c0(1) c0(2) .... c0(Dimension)
|
//! c0(1) c0(2) .... c0(Dimension)
|
||||||
//! c1(1) c1(2) .... c1(Dimension)
|
//! c1(1) c1(2) .... c1(Dimension)
|
||||||
//!
|
//!
|
||||||
//! cDegree(1) cDegree(2) .... cDegree(Dimension)
|
//! cDegree(1) cDegree(2) .... cDegree(Dimension)
|
||||||
//!
|
//! @endcode
|
||||||
//! The coefficients
|
//! The coefficients
|
||||||
|
//! @code
|
||||||
//! c0(1) c0(2) .... c0(Dimension)
|
//! c0(1) c0(2) .... c0(Dimension)
|
||||||
//! c2*ordre+1(1) ... c2*ordre+1(dimension)
|
//! c2*ordre+1(1) ... c2*ordre+1(dimension)
|
||||||
//!
|
//! @endcode
|
||||||
//! represents the part of the polynomial in the
|
//! represents the part of the polynomial in the
|
||||||
//! Hermit's base: H(t)
|
//! Hermit's base: H(t)
|
||||||
|
//! @code
|
||||||
//! H(t) = c0H00(t) + c1H01(t) + ...c(iordre)H(0 ;iorder)+ c(iordre+1)H10(t)+...
|
//! H(t) = c0H00(t) + c1H01(t) + ...c(iordre)H(0 ;iorder)+ c(iordre+1)H10(t)+...
|
||||||
|
//! @endcode
|
||||||
//! The following coefficients represents the part of the
|
//! The following coefficients represents the part of the
|
||||||
//! polynomial in the Jacobi base ie Q(t)
|
//! polynomial in the Jacobi base ie Q(t)
|
||||||
|
//! @code
|
||||||
//! Q(t) = c2*iordre+2 J0(t) + ...+ cDegree JDegree-2*iordre-2
|
//! Q(t) = c2*iordre+2 J0(t) + ...+ cDegree JDegree-2*iordre-2
|
||||||
|
//! @endcode
|
||||||
class PLib_HermitJacobi : public PLib_Base
|
class PLib_HermitJacobi : public PLib_Base
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -34,9 +34,9 @@ class PLib_JacobiPolynomial;
|
|||||||
DEFINE_STANDARD_HANDLE(PLib_JacobiPolynomial, PLib_Base)
|
DEFINE_STANDARD_HANDLE(PLib_JacobiPolynomial, PLib_Base)
|
||||||
|
|
||||||
//! This class provides method to work with Jacobi Polynomials
|
//! This class provides method to work with Jacobi Polynomials
|
||||||
//! relativly to an order of constraint
|
//! relatively to an order of constraint
|
||||||
//! q = myWorkDegree-2*(myNivConstr+1)
|
//! q = myWorkDegree-2*(myNivConstr+1)
|
||||||
//! Jk(t) for k=0,q compose the Jacobi Polynomial base relativly to the weigth W(t)
|
//! Jk(t) for k=0,q compose the Jacobi Polynomial base relatively to the weigth W(t)
|
||||||
//! iorder is the integer value for the constraints:
|
//! iorder is the integer value for the constraints:
|
||||||
//! iorder = 0 <=> ConstraintOrder = GeomAbs_C0
|
//! iorder = 0 <=> ConstraintOrder = GeomAbs_C0
|
||||||
//! iorder = 1 <=> ConstraintOrder = GeomAbs_C1
|
//! iorder = 1 <=> ConstraintOrder = GeomAbs_C1
|
||||||
@ -76,7 +76,7 @@ public:
|
|||||||
|
|
||||||
//! returns the Jacobi Points for Gauss integration ie
|
//! returns the Jacobi Points for Gauss integration ie
|
||||||
//! the positive values of the Legendre roots by increasing values
|
//! the positive values of the Legendre roots by increasing values
|
||||||
//! NbGaussPoints is the number of points choosen for the integral
|
//! NbGaussPoints is the number of points chosen for the integral
|
||||||
//! computation.
|
//! computation.
|
||||||
//! TabPoints (0,NbGaussPoints/2)
|
//! TabPoints (0,NbGaussPoints/2)
|
||||||
//! TabPoints (0) is loaded only for the odd values of NbGaussPoints
|
//! TabPoints (0) is loaded only for the odd values of NbGaussPoints
|
||||||
@ -89,7 +89,7 @@ public:
|
|||||||
//! returns the Jacobi weigths for Gauss integration only for
|
//! returns the Jacobi weigths for Gauss integration only for
|
||||||
//! the positive values of the Legendre roots in the order they
|
//! the positive values of the Legendre roots in the order they
|
||||||
//! are given by the method Points
|
//! are given by the method Points
|
||||||
//! NbGaussPoints is the number of points choosen for the integral
|
//! NbGaussPoints is the number of points chosen for the integral
|
||||||
//! computation.
|
//! computation.
|
||||||
//! TabWeights (0,NbGaussPoints/2,0,Degree)
|
//! TabWeights (0,NbGaussPoints/2,0,Degree)
|
||||||
//! TabWeights (0,.) are only loaded for the odd values of NbGaussPoints
|
//! TabWeights (0,.) are only loaded for the odd values of NbGaussPoints
|
||||||
|
@ -139,8 +139,7 @@ class Poly_CoherentTriangle
|
|||||||
{ return mypLink[iLink]; }
|
{ return mypLink[iLink]; }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retuns the index of the connection with the given triangle, or -1 if not
|
* Returns the index of the connection with the given triangle, or -1 if not found.
|
||||||
* found.
|
|
||||||
*/
|
*/
|
||||||
Standard_EXPORT Standard_Integer
|
Standard_EXPORT Standard_Integer
|
||||||
FindConnection (const Poly_CoherentTriangle&) const;
|
FindConnection (const Poly_CoherentTriangle&) const;
|
||||||
|
@ -185,7 +185,7 @@ class Poly_CoherentTriangulation : public Standard_Transient
|
|||||||
* degenerated and therefore removed by this method.
|
* degenerated and therefore removed by this method.
|
||||||
* @param pLstRemovedNode
|
* @param pLstRemovedNode
|
||||||
* Optional parameter. If defined, then it will receive the list of arrays
|
* Optional parameter. If defined, then it will receive the list of arrays
|
||||||
* where the first number is the index of removed node and the seond -
|
* where the first number is the index of removed node and the second -
|
||||||
* the index of remaining node to which the mesh was reconnected.
|
* the index of remaining node to which the mesh was reconnected.
|
||||||
*/
|
*/
|
||||||
Standard_EXPORT Standard_Boolean RemoveDegenerated
|
Standard_EXPORT Standard_Boolean RemoveDegenerated
|
||||||
|
@ -408,7 +408,7 @@ void Poly_MakeLoops::markHangChain(Standard_Integer theNode, Standard_Integer th
|
|||||||
{
|
{
|
||||||
// check if the current link is hanging:
|
// check if the current link is hanging:
|
||||||
// if it is outcoming from aNode1 then count the number of
|
// if it is outcoming from aNode1 then count the number of
|
||||||
// other incoming links and vise versa;
|
// other incoming links and vice-versa;
|
||||||
// if the number is zero than it is hanging
|
// if the number is zero than it is hanging
|
||||||
const ListOfLink& aLinks = myHelper->GetAdjacentLinks (aNode1);
|
const ListOfLink& aLinks = myHelper->GetAdjacentLinks (aNode1);
|
||||||
Standard_Integer nEdges = 0;
|
Standard_Integer nEdges = 0;
|
||||||
|
@ -169,7 +169,7 @@ public:
|
|||||||
|
|
||||||
//! Set a new value of orientation of a link already added earlier.
|
//! Set a new value of orientation of a link already added earlier.
|
||||||
//! It can be used with LF_None to exclude the link from consideration.
|
//! It can be used with LF_None to exclude the link from consideration.
|
||||||
//! Returns the old value of orienation.
|
//! Returns the old value of orientation.
|
||||||
Standard_EXPORT LinkFlag SetLinkOrientation
|
Standard_EXPORT LinkFlag SetLinkOrientation
|
||||||
(const Link& theLink,
|
(const Link& theLink,
|
||||||
const LinkFlag theOrient);
|
const LinkFlag theOrient);
|
||||||
|
@ -83,9 +83,9 @@ public:
|
|||||||
const TColStd_Array1OfReal& Parameters() const { return myParameters->Array1(); }
|
const TColStd_Array1OfReal& Parameters() const { return myParameters->Array1(); }
|
||||||
|
|
||||||
//! Returns the table of the parameters associated with each node in this polygon.
|
//! Returns the table of the parameters associated with each node in this polygon.
|
||||||
//! ChangeParameters function returnes the array as shared. Therefore if the table is selected by
|
//! ChangeParameters function returns the array as shared.
|
||||||
//! reference you can, by simply modifying it, directly modify
|
//! Therefore if the table is selected by reference you can, by simply modifying it,
|
||||||
//! the data structure of this polygon.
|
//! directly modify the data structure of this polygon.
|
||||||
TColStd_Array1OfReal& ChangeParameters() const { return myParameters->ChangeArray1(); }
|
TColStd_Array1OfReal& ChangeParameters() const { return myParameters->ChangeArray1(); }
|
||||||
|
|
||||||
//! Dumps the content of me into the stream
|
//! Dumps the content of me into the stream
|
||||||
|
@ -1539,14 +1539,14 @@ void ProjLib_CompProjectedCurve::BuildIntervals(const GeomAbs_Shape S) const
|
|||||||
UArr = NULL,
|
UArr = NULL,
|
||||||
VArr = NULL;
|
VArr = NULL;
|
||||||
|
|
||||||
// proccessing projection bounds
|
// processing projection bounds
|
||||||
BArr = new TColStd_HArray1OfReal(1, 2*myNbCurves);
|
BArr = new TColStd_HArray1OfReal(1, 2*myNbCurves);
|
||||||
for(i = 1; i <= myNbCurves; i++)
|
for(i = 1; i <= myNbCurves; i++)
|
||||||
{
|
{
|
||||||
Bounds(i, BArr->ChangeValue(2*i - 1), BArr->ChangeValue(2*i));
|
Bounds(i, BArr->ChangeValue(2*i - 1), BArr->ChangeValue(2*i));
|
||||||
}
|
}
|
||||||
|
|
||||||
// proccessing curve discontinuities
|
// processing curve discontinuities
|
||||||
if(NbIntCur > 1) {
|
if(NbIntCur > 1) {
|
||||||
CArr = new TColStd_HArray1OfReal(1, NbIntCur - 1);
|
CArr = new TColStd_HArray1OfReal(1, NbIntCur - 1);
|
||||||
for(i = 1; i <= CArr->Length(); i++)
|
for(i = 1; i <= CArr->Length(); i++)
|
||||||
@ -1555,7 +1555,7 @@ void ProjLib_CompProjectedCurve::BuildIntervals(const GeomAbs_Shape S) const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// proccessing U-surface discontinuities
|
// processing U-surface discontinuities
|
||||||
TColStd_SequenceOfReal TUdisc;
|
TColStd_SequenceOfReal TUdisc;
|
||||||
|
|
||||||
for(k = 2; k <= NbIntSurU; k++) {
|
for(k = 2; k <= NbIntSurU; k++) {
|
||||||
@ -1620,7 +1620,7 @@ void ProjLib_CompProjectedCurve::BuildIntervals(const GeomAbs_Shape S) const
|
|||||||
UArr->ChangeValue(i) = TUdisc(i);
|
UArr->ChangeValue(i) = TUdisc(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// proccessing V-surface discontinuities
|
// processing V-surface discontinuities
|
||||||
TColStd_SequenceOfReal TVdisc;
|
TColStd_SequenceOfReal TVdisc;
|
||||||
|
|
||||||
for(k = 2; k <= NbIntSurV; k++)
|
for(k = 2; k <= NbIntSurV; k++)
|
||||||
|
@ -32,7 +32,7 @@ class Geom2d_BezierCurve;
|
|||||||
//! Tolerance is maximal possible value of 3d deviation of 3d projection of projected curve from
|
//! Tolerance is maximal possible value of 3d deviation of 3d projection of projected curve from
|
||||||
//! "exact" 3d projection. Since algorithm searches 2d curve on surface, required 2d tolerance is computed
|
//! "exact" 3d projection. Since algorithm searches 2d curve on surface, required 2d tolerance is computed
|
||||||
//! from 3d tolerance with help of U,V resolutions of surface.
|
//! from 3d tolerance with help of U,V resolutions of surface.
|
||||||
//! 3d and 2d tolerances have sence only for curves on surface, it defines precision of projecting and approximation
|
//! 3d and 2d tolerances have sense only for curves on surface, it defines precision of projecting and approximation
|
||||||
//! and have nothing to do with distance between the projected curve and the surface.
|
//! and have nothing to do with distance between the projected curve and the surface.
|
||||||
class ProjLib_ComputeApprox
|
class ProjLib_ComputeApprox
|
||||||
{
|
{
|
||||||
|
@ -711,7 +711,7 @@ Handle(Geom2d_BSplineCurve) ProjLib_ComputeApproxOnPolarSurface::Perform
|
|||||||
// if there is an initialization curve:
|
// if there is an initialization curve:
|
||||||
// - either this is a BSpline C0, with discontinuity at the same parameters of nodes
|
// - either this is a BSpline C0, with discontinuity at the same parameters of nodes
|
||||||
// and the sections C1 are taken
|
// and the sections C1 are taken
|
||||||
// - or this is a curve C1 and the sections of intrest are taken otherwise the curve is created.
|
// - or this is a curve C1 and the sections of interest are taken otherwise the curve is created.
|
||||||
|
|
||||||
// initialization 2d
|
// initialization 2d
|
||||||
Standard_Integer nbInter2d;
|
Standard_Integer nbInter2d;
|
||||||
|
@ -35,7 +35,7 @@ class Geom2d_Curve;
|
|||||||
//! Tolerance is maximal possible value of 3d deviation of 3d projection of projected curve from
|
//! Tolerance is maximal possible value of 3d deviation of 3d projection of projected curve from
|
||||||
//! "exact" 3d projection. Since algorithm searches 2d curve on surface, required 2d tolerance is computed
|
//! "exact" 3d projection. Since algorithm searches 2d curve on surface, required 2d tolerance is computed
|
||||||
//! from 3d tolerance with help of U,V resolutions of surface.
|
//! from 3d tolerance with help of U,V resolutions of surface.
|
||||||
//! 3d and 2d tolerances have sence only for curves on surface, it defines precision of projecting and approximation
|
//! 3d and 2d tolerances have sense only for curves on surface, it defines precision of projecting and approximation
|
||||||
//! and have nothing to do with distance between the projected curve and the surface.
|
//! and have nothing to do with distance between the projected curve and the surface.
|
||||||
class ProjLib_ComputeApproxOnPolarSurface
|
class ProjLib_ComputeApproxOnPolarSurface
|
||||||
{
|
{
|
||||||
@ -77,7 +77,7 @@ public:
|
|||||||
|
|
||||||
//! Set the parameter, which defines maximal possible distance between projected curve and surface.
|
//! Set the parameter, which defines maximal possible distance between projected curve and surface.
|
||||||
//! It is used only for projecting on not analytical surfaces.
|
//! It is used only for projecting on not analytical surfaces.
|
||||||
//! If theMaxDist < 0, algoritm uses default value 100.*Tolerance.
|
//! If theMaxDist < 0, algorithm uses default value 100.*Tolerance.
|
||||||
//! If real distance between curve and surface more then theMaxDist, algorithm stops working.
|
//! If real distance between curve and surface more then theMaxDist, algorithm stops working.
|
||||||
Standard_EXPORT void SetMaxDist(const Standard_Real theMaxDist);
|
Standard_EXPORT void SetMaxDist(const Standard_Real theMaxDist);
|
||||||
|
|
||||||
@ -95,7 +95,7 @@ public:
|
|||||||
//! Parameter InitCurve2d is any rough estimation of 2d result curve.
|
//! Parameter InitCurve2d is any rough estimation of 2d result curve.
|
||||||
Standard_EXPORT Handle(Geom2d_BSplineCurve) Perform (const Handle(Adaptor2d_Curve2d)& InitCurve2d, const Handle(Adaptor3d_Curve)& C, const Handle(Adaptor3d_Surface)& S);
|
Standard_EXPORT Handle(Geom2d_BSplineCurve) Perform (const Handle(Adaptor2d_Curve2d)& InitCurve2d, const Handle(Adaptor3d_Curve)& C, const Handle(Adaptor3d_Surface)& S);
|
||||||
|
|
||||||
//! Builds initial 2d curve as BSpline with degree = 1 using Extrema algoritm.
|
//! Builds initial 2d curve as BSpline with degree = 1 using Extrema algorithm.
|
||||||
//! Method is used in method Perform(...).
|
//! Method is used in method Perform(...).
|
||||||
Standard_EXPORT Handle(Adaptor2d_Curve2d) BuildInitialCurve2d (const Handle(Adaptor3d_Curve)& Curve, const Handle(Adaptor3d_Surface)& S);
|
Standard_EXPORT Handle(Adaptor2d_Curve2d) BuildInitialCurve2d (const Handle(Adaptor3d_Curve)& Curve, const Handle(Adaptor3d_Surface)& S);
|
||||||
|
|
||||||
|
@ -37,11 +37,9 @@ public:
|
|||||||
Standard_EXPORT ProjLib_PrjResolve(const Adaptor3d_Curve& C, const Adaptor3d_Surface& S, const Standard_Integer Fix);
|
Standard_EXPORT ProjLib_PrjResolve(const Adaptor3d_Curve& C, const Adaptor3d_Surface& S, const Standard_Integer Fix);
|
||||||
|
|
||||||
//! Calculates the ort from C(t) to S with a close point.
|
//! Calculates the ort from C(t) to S with a close point.
|
||||||
//! The close point is defined by the parameter values
|
//! The close point is defined by the parameter values U0 and V0.
|
||||||
//! U0 and V0.
|
//! The function F(u,v)=distance(S(u,v),C(t)) has an extremum when gradient(F)=0.
|
||||||
//! The function F(u,v)=distance(S(u,v),C(t)) has an
|
//! The algorithm searches a zero near the close point.
|
||||||
//! extremum when gradient(F)=0. The algorithm searchs
|
|
||||||
//! a zero near the close point.
|
|
||||||
Standard_EXPORT void Perform (const Standard_Real t, const Standard_Real U, const Standard_Real V, const gp_Pnt2d& Tol, const gp_Pnt2d& Inf, const gp_Pnt2d& Sup, const Standard_Real FTol = -1, const Standard_Boolean StrictInside = Standard_False);
|
Standard_EXPORT void Perform (const Standard_Real t, const Standard_Real U, const Standard_Real V, const gp_Pnt2d& Tol, const gp_Pnt2d& Inf, const gp_Pnt2d& Sup, const Standard_Real FTol = -1, const Standard_Boolean StrictInside = Standard_False);
|
||||||
|
|
||||||
//! Returns True if the distance is found.
|
//! Returns True if the distance is found.
|
||||||
|
@ -71,12 +71,12 @@ public:
|
|||||||
//! plane <Pl>.
|
//! plane <Pl>.
|
||||||
Standard_EXPORT ProjLib_ProjectOnPlane(const gp_Ax3& Pl, const gp_Dir& D);
|
Standard_EXPORT ProjLib_ProjectOnPlane(const gp_Ax3& Pl, const gp_Dir& D);
|
||||||
|
|
||||||
//! Sets the Curve and perform the projection. if
|
//! Sets the Curve and perform the projection.
|
||||||
//! <KeepParametrization> is true, the parametrization
|
//! if <KeepParametrization> is true, the parametrization
|
||||||
//! of the Projected Curve <PC> will be the same as
|
//! of the Projected Curve <PC> will be the same as
|
||||||
//! the parametrization of the initial curve <C>. It
|
//! the parametrization of the initial curve <C>.
|
||||||
//! meens: proj(C(u)) = PC(u) for each u. Otherwize,
|
//! It means: proj(C(u)) = PC(u) for each u.
|
||||||
//! the parametrization may change.
|
//! Otherwise, the parametrization may change.
|
||||||
Standard_EXPORT void Load (const Handle(Adaptor3d_Curve)& C, const Standard_Real Tolerance, const Standard_Boolean KeepParametrization = Standard_True);
|
Standard_EXPORT void Load (const Handle(Adaptor3d_Curve)& C, const Standard_Real Tolerance, const Standard_Boolean KeepParametrization = Standard_True);
|
||||||
|
|
||||||
Standard_EXPORT const gp_Ax3& GetPlane() const;
|
Standard_EXPORT const gp_Ax3& GetPlane() const;
|
||||||
@ -98,10 +98,9 @@ public:
|
|||||||
//! intervals.
|
//! intervals.
|
||||||
Standard_EXPORT Standard_Integer NbIntervals (const GeomAbs_Shape S) const Standard_OVERRIDE;
|
Standard_EXPORT Standard_Integer NbIntervals (const GeomAbs_Shape S) const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Stores in <T> the parameters bounding the intervals
|
//! Stores in <T> the parameters bounding the intervals of continuity <S>.
|
||||||
//! of continuity <S>.
|
|
||||||
//!
|
//!
|
||||||
//! The array must provide enough room to accomodate
|
//! The array must provide enough room to accommodate
|
||||||
//! for the parameters. i.e. T.Length() > NbIntervals()
|
//! for the parameters. i.e. T.Length() > NbIntervals()
|
||||||
Standard_EXPORT void Intervals (TColStd_Array1OfReal& T, const GeomAbs_Shape S) const Standard_OVERRIDE;
|
Standard_EXPORT void Intervals (TColStd_Array1OfReal& T, const GeomAbs_Shape S) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ public:
|
|||||||
//! Create an empty projector.
|
//! Create an empty projector.
|
||||||
Standard_EXPORT ProjLib_ProjectOnSurface();
|
Standard_EXPORT ProjLib_ProjectOnSurface();
|
||||||
|
|
||||||
//! Create a projector normaly to the surface <S>.
|
//! Create a projector normally to the surface <S>.
|
||||||
Standard_EXPORT ProjLib_ProjectOnSurface(const Handle(Adaptor3d_Surface)& S);
|
Standard_EXPORT ProjLib_ProjectOnSurface(const Handle(Adaptor3d_Surface)& S);
|
||||||
|
|
||||||
Standard_EXPORT virtual ~ProjLib_ProjectOnSurface();
|
Standard_EXPORT virtual ~ProjLib_ProjectOnSurface();
|
||||||
|
@ -39,13 +39,13 @@ class Geom2d_BSplineCurve;
|
|||||||
DEFINE_STANDARD_HANDLE(ProjLib_ProjectedCurve, Adaptor2d_Curve2d)
|
DEFINE_STANDARD_HANDLE(ProjLib_ProjectedCurve, Adaptor2d_Curve2d)
|
||||||
|
|
||||||
//! Compute the 2d-curve. Try to solve the particular
|
//! Compute the 2d-curve. Try to solve the particular
|
||||||
//! case if possible. Otherwize, an approximation is
|
//! case if possible. Otherwise, an approximation is
|
||||||
//! done. For approximation some parameters are used, including
|
//! done. For approximation some parameters are used, including
|
||||||
//! required tolerance of approximation.
|
//! required tolerance of approximation.
|
||||||
//! Tolerance is maximal possible value of 3d deviation of 3d projection of projected curve from
|
//! Tolerance is maximal possible value of 3d deviation of 3d projection of projected curve from
|
||||||
//! "exact" 3d projection. Since algorithm searches 2d curve on surface, required 2d tolerance is computed
|
//! "exact" 3d projection. Since algorithm searches 2d curve on surface, required 2d tolerance is computed
|
||||||
//! from 3d tolerance with help of U,V resolutions of surface.
|
//! from 3d tolerance with help of U,V resolutions of surface.
|
||||||
//! 3d and 2d tolerances have sence only for curves on surface, it defines precision of projecting and approximation
|
//! 3d and 2d tolerances have sense only for curves on surface, it defines precision of projecting and approximation
|
||||||
//! and have nothing to do with distance between the projected curve and the surface.
|
//! and have nothing to do with distance between the projected curve and the surface.
|
||||||
class ProjLib_ProjectedCurve : public Adaptor2d_Curve2d
|
class ProjLib_ProjectedCurve : public Adaptor2d_Curve2d
|
||||||
{
|
{
|
||||||
@ -97,7 +97,7 @@ public:
|
|||||||
|
|
||||||
//! Set the parameter, which degines maximal possible distance between projected curve and surface.
|
//! Set the parameter, which degines maximal possible distance between projected curve and surface.
|
||||||
//! It uses only for projecting on not analytical surfaces.
|
//! It uses only for projecting on not analytical surfaces.
|
||||||
//! If theMaxDist < 0, algoritm uses default value 100.*Tolerance.
|
//! If theMaxDist < 0, algorithm uses default value 100.*Tolerance.
|
||||||
//! If real distance between curve and surface more then theMaxDist, algorithm stops working.
|
//! If real distance between curve and surface more then theMaxDist, algorithm stops working.
|
||||||
Standard_EXPORT void SetMaxDist(const Standard_Real theMaxDist);
|
Standard_EXPORT void SetMaxDist(const Standard_Real theMaxDist);
|
||||||
|
|
||||||
@ -123,7 +123,7 @@ public:
|
|||||||
//! Stores in <T> the parameters bounding the intervals
|
//! Stores in <T> the parameters bounding the intervals
|
||||||
//! of continuity <S>.
|
//! of continuity <S>.
|
||||||
//!
|
//!
|
||||||
//! The array must provide enough room to accomodate
|
//! The array must provide enough room to accommodate
|
||||||
//! for the parameters. i.e. T.Length() > NbIntervals()
|
//! for the parameters. i.e. T.Length() > NbIntervals()
|
||||||
Standard_EXPORT void Intervals (TColStd_Array1OfReal& T, const GeomAbs_Shape S) const Standard_OVERRIDE;
|
Standard_EXPORT void Intervals (TColStd_Array1OfReal& T, const GeomAbs_Shape S) const Standard_OVERRIDE;
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
#include <TCollection_AsciiString.hxx>
|
#include <TCollection_AsciiString.hxx>
|
||||||
|
|
||||||
//! This class provides units for two dimension groups:
|
//! This class provides units for two dimension groups:
|
||||||
//! - lengthes (length, radius, diameter)
|
//! - lengths (length, radius, diameter)
|
||||||
//! - angles
|
//! - angles
|
||||||
class Prs3d_DimensionUnits
|
class Prs3d_DimensionUnits
|
||||||
{
|
{
|
||||||
|
@ -275,7 +275,7 @@ public:
|
|||||||
myDeviationAngle = 20.0 * M_PI / 180.0;
|
myDeviationAngle = 20.0 * M_PI / 180.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//! Returns true if the there is a local setting for deviation
|
//! Returns true if there is a local setting for deviation
|
||||||
//! angle in this framework for a specific interactive object.
|
//! angle in this framework for a specific interactive object.
|
||||||
Standard_Boolean HasOwnDeviationAngle() const { return myHasOwnDeviationAngle; }
|
Standard_Boolean HasOwnDeviationAngle() const { return myHasOwnDeviationAngle; }
|
||||||
|
|
||||||
|
@ -1171,7 +1171,7 @@ Standard_Boolean PrsDim_AngleDimension::IsValidPoints (const gp_Pnt& theFirstPoi
|
|||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : isArrowVisible
|
//function : isArrowVisible
|
||||||
//purpose : compares given and internal arrows types, returns true if the the type should be shown
|
//purpose : compares given and internal arrows types, returns true if the type should be shown
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
Standard_Boolean PrsDim_AngleDimension::isArrowVisible(const PrsDim_TypeOfAngleArrowVisibility theArrowType) const
|
Standard_Boolean PrsDim_AngleDimension::isArrowVisible(const PrsDim_TypeOfAngleArrowVisibility theArrowType) const
|
||||||
{
|
{
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
DEFINE_STANDARD_HANDLE(PrsDim_DiameterDimension, PrsDim_Dimension)
|
DEFINE_STANDARD_HANDLE(PrsDim_DiameterDimension, PrsDim_Dimension)
|
||||||
|
|
||||||
//! Diameter dimension. Can be constructued:
|
//! Diameter dimension. Can be constructed:
|
||||||
//! - On generic circle.
|
//! - On generic circle.
|
||||||
//! - On generic circle with user-defined anchor point on that circle
|
//! - On generic circle with user-defined anchor point on that circle
|
||||||
//! (dimension plane is oriented to follow the anchor point).
|
//! (dimension plane is oriented to follow the anchor point).
|
||||||
|
@ -148,7 +148,7 @@ DEFINE_STANDARD_HANDLE(PrsDim_Dimension, AIS_InteractiveObject)
|
|||||||
//! this 3d point to the set of parameters including adjusting of the dimension plane (this plane will be
|
//! this 3d point to the set of parameters including adjusting of the dimension plane (this plane will be
|
||||||
//! automatic plane, NOT user-defined one).
|
//! automatic plane, NOT user-defined one).
|
||||||
//! If the fixed text position is set, the flag myIsFixedTextPosition is set to TRUE.
|
//! If the fixed text position is set, the flag myIsFixedTextPosition is set to TRUE.
|
||||||
//! ATTENSION! myIsFixedTextPosition fixes all parameters of the set from recomputing inside
|
//! ATTENTION! myIsFixedTextPosition fixes all parameters of the set from recomputing inside
|
||||||
//! SetMeasureGeometry() methods. Parameters in dimension aspect (they are horizontal text position
|
//! SetMeasureGeometry() methods. Parameters in dimension aspect (they are horizontal text position
|
||||||
//! and extension size) are adjusted on presentation computing step, user-defined values in
|
//! and extension size) are adjusted on presentation computing step, user-defined values in
|
||||||
//! dimension aspect are not changed.
|
//! dimension aspect are not changed.
|
||||||
@ -249,7 +249,7 @@ public:
|
|||||||
Standard_EXPORT void SetCustomValue (const Standard_Real theValue);
|
Standard_EXPORT void SetCustomValue (const Standard_Real theValue);
|
||||||
|
|
||||||
//! Sets user-defined dimension value.
|
//! Sets user-defined dimension value.
|
||||||
//! Unit conversion during the display is not applyed.
|
//! Unit conversion during the display is not applied.
|
||||||
//! @param theValue [in] the user-defined value to display.
|
//! @param theValue [in] the user-defined value to display.
|
||||||
Standard_EXPORT void SetCustomValue (const TCollection_ExtendedString& theValue);
|
Standard_EXPORT void SetCustomValue (const TCollection_ExtendedString& theValue);
|
||||||
|
|
||||||
@ -475,7 +475,7 @@ protected:
|
|||||||
//! @param theCircle [out] the circle geometry.
|
//! @param theCircle [out] the circle geometry.
|
||||||
//! @param theMiddleArcPoint [out] the middle point of the arc.
|
//! @param theMiddleArcPoint [out] the middle point of the arc.
|
||||||
//! @param theIsClosed [out] returns TRUE if the geometry is closed circle.
|
//! @param theIsClosed [out] returns TRUE if the geometry is closed circle.
|
||||||
//! @return TRUE if the the circle is successfully got from the input shape.
|
//! @return TRUE if the circle is successfully returned from the input shape.
|
||||||
Standard_EXPORT Standard_Boolean InitCircularDimension (const TopoDS_Shape& theShape,
|
Standard_EXPORT Standard_Boolean InitCircularDimension (const TopoDS_Shape& theShape,
|
||||||
gp_Circ& theCircle,
|
gp_Circ& theCircle,
|
||||||
gp_Pnt& theMiddleArcPoint,
|
gp_Pnt& theMiddleArcPoint,
|
||||||
|
@ -467,7 +467,7 @@ void PrsDim_EqualDistanceRelation::ComputeTwoEdgesLength( const Handle( Prs3d_Pr
|
|||||||
gp_Circ aCirc1 = aCir1->Circ();
|
gp_Circ aCirc1 = aCir1->Circ();
|
||||||
gp_Circ aCirc2 = aCir2->Circ();
|
gp_Circ aCirc2 = aCir2->Circ();
|
||||||
|
|
||||||
//To avoid circles with different orientaion
|
//To avoid circles with different orientation
|
||||||
Standard_Real aTol = Precision::Confusion();
|
Standard_Real aTol = Precision::Confusion();
|
||||||
if(aCirc2.Axis().IsOpposite(aCirc1.Axis(), aTol) ||
|
if(aCirc2.Axis().IsOpposite(aCirc1.Axis(), aTol) ||
|
||||||
aCirc2.XAxis().IsOpposite(aCirc1.XAxis(), aTol) ||
|
aCirc2.XAxis().IsOpposite(aCirc1.XAxis(), aTol) ||
|
||||||
|
@ -476,7 +476,7 @@ void PrsDim_IdenticRelation::ComputeTwoEdgesPresentation(const Handle(Prs3d_Pres
|
|||||||
return;
|
return;
|
||||||
aPrs->SetInfiniteState((isInfinite1 || isInfinite2) && myExtShape != 0);
|
aPrs->SetInfiniteState((isInfinite1 || isInfinite2) && myExtShape != 0);
|
||||||
|
|
||||||
// Treatement of the case of lines
|
// Treatment of the case of lines
|
||||||
if ( curv1->IsInstance(STANDARD_TYPE(Geom_Line)) && curv2->IsInstance(STANDARD_TYPE(Geom_Line)) ) {
|
if ( curv1->IsInstance(STANDARD_TYPE(Geom_Line)) && curv2->IsInstance(STANDARD_TYPE(Geom_Line)) ) {
|
||||||
// we take the line curv1 like support
|
// we take the line curv1 like support
|
||||||
Handle(Geom_Line) thelin;
|
Handle(Geom_Line) thelin;
|
||||||
@ -486,7 +486,7 @@ void PrsDim_IdenticRelation::ComputeTwoEdgesPresentation(const Handle(Prs3d_Pres
|
|||||||
ComputeTwoLinesPresentation(aPrs, thelin, firstp1, lastp1, firstp2, lastp2, isInfinite1, isInfinite2);
|
ComputeTwoLinesPresentation(aPrs, thelin, firstp1, lastp1, firstp2, lastp2, isInfinite1, isInfinite2);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Treatement of the case of circles
|
// Treatment of the case of circles
|
||||||
else if ( curv1->IsInstance(STANDARD_TYPE(Geom_Circle)) && curv2->IsInstance(STANDARD_TYPE(Geom_Circle)) ) {
|
else if ( curv1->IsInstance(STANDARD_TYPE(Geom_Circle)) && curv2->IsInstance(STANDARD_TYPE(Geom_Circle)) ) {
|
||||||
//gp_Pnt curpos;
|
//gp_Pnt curpos;
|
||||||
isCircle = Standard_True; // useful for ComputeSelection
|
isCircle = Standard_True; // useful for ComputeSelection
|
||||||
@ -495,7 +495,7 @@ void PrsDim_IdenticRelation::ComputeTwoEdgesPresentation(const Handle(Prs3d_Pres
|
|||||||
}
|
}
|
||||||
|
|
||||||
// jfa 10/10/2000
|
// jfa 10/10/2000
|
||||||
// Treatement of the case of ellipses
|
// Treatment of the case of ellipses
|
||||||
else if ( curv1->IsInstance(STANDARD_TYPE(Geom_Ellipse)) && curv2->IsInstance(STANDARD_TYPE(Geom_Ellipse)) )
|
else if ( curv1->IsInstance(STANDARD_TYPE(Geom_Ellipse)) && curv2->IsInstance(STANDARD_TYPE(Geom_Ellipse)) )
|
||||||
{
|
{
|
||||||
Handle(Geom_Ellipse) theEll (Handle(Geom_Ellipse)::DownCast (curv1));
|
Handle(Geom_Ellipse) theEll (Handle(Geom_Ellipse)::DownCast (curv1));
|
||||||
@ -577,7 +577,7 @@ void PrsDim_IdenticRelation::ComputeTwoLinesPresentation(const Handle(Prs3d_Pres
|
|||||||
lastp2 = lastp1;
|
lastp2 = lastp1;
|
||||||
}
|
}
|
||||||
|
|
||||||
Standard_Real tabRang1[4]; // array taht contains the parameters of the 4 points
|
Standard_Real tabRang1[4]; // array that contains the parameters of the 4 points
|
||||||
// ordered by increasing abscisses.
|
// ordered by increasing abscisses.
|
||||||
|
|
||||||
gp_Pnt tabRang2[4]; // array containing the points corresponding to the
|
gp_Pnt tabRang2[4]; // array containing the points corresponding to the
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
|
|
||||||
DEFINE_STANDARD_HANDLE (PrsDim_LengthDimension, PrsDim_Dimension)
|
DEFINE_STANDARD_HANDLE (PrsDim_LengthDimension, PrsDim_Dimension)
|
||||||
|
|
||||||
//! Length dimension. Can be constructued:
|
//! Length dimension. Can be constructed:
|
||||||
//! - Between two generic points.
|
//! - Between two generic points.
|
||||||
//! - Between two vertices.
|
//! - Between two vertices.
|
||||||
//! - Between two faces.
|
//! - Between two faces.
|
||||||
@ -36,7 +36,7 @@ DEFINE_STANDARD_HANDLE (PrsDim_LengthDimension, PrsDim_Dimension)
|
|||||||
//! In case of two points (vertices) or one linear edge the user-defined plane
|
//! In case of two points (vertices) or one linear edge the user-defined plane
|
||||||
//! that includes this geometry is necessary to be set.
|
//! that includes this geometry is necessary to be set.
|
||||||
//!
|
//!
|
||||||
//! In case of face-edge, edge-vertex or face-face lengthes the automatic plane
|
//! In case of face-edge, edge-vertex or face-face lengths the automatic plane
|
||||||
//! computing is allowed. For this plane the third point is found on the
|
//! computing is allowed. For this plane the third point is found on the
|
||||||
//! edge or on the face.
|
//! edge or on the face.
|
||||||
//!
|
//!
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
DEFINE_STANDARD_HANDLE(PrsDim_RadiusDimension, PrsDim_Dimension)
|
DEFINE_STANDARD_HANDLE(PrsDim_RadiusDimension, PrsDim_Dimension)
|
||||||
|
|
||||||
//! Radius dimension. Can be constructued:
|
//! Radius dimension. Can be constructed:
|
||||||
//! - On generic circle.
|
//! - On generic circle.
|
||||||
//! - On generic circle with user-defined anchor point on that circle.
|
//! - On generic circle with user-defined anchor point on that circle.
|
||||||
//! - On generic shape containing geometry that can be measured
|
//! - On generic shape containing geometry that can be measured
|
||||||
|
@ -178,14 +178,14 @@ protected:
|
|||||||
|
|
||||||
Standard_EXPORT PrsDim_Relation (const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d = PrsMgr_TOP_AllView);
|
Standard_EXPORT PrsDim_Relation (const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d = PrsMgr_TOP_AllView);
|
||||||
|
|
||||||
//! Calculates the presentation aPres of the the edge
|
//! Calculates the presentation aPres of the edge
|
||||||
//! anEdge and the curve it defines, ProjCurve. The later
|
//! anEdge and the curve it defines, ProjCurve. The later
|
||||||
//! is also specified by the first point FirstP and the last point LastP.
|
//! is also specified by the first point FirstP and the last point LastP.
|
||||||
//! The presentation includes settings for color aColor,
|
//! The presentation includes settings for color aColor,
|
||||||
//! type - aProjTOL and aCallTOL - and width of line, aWidth.
|
//! type - aProjTOL and aCallTOL - and width of line, aWidth.
|
||||||
Standard_EXPORT void ComputeProjEdgePresentation (const Handle(Prs3d_Presentation)& aPres, const TopoDS_Edge& anEdge, const Handle(Geom_Curve)& ProjCurve, const gp_Pnt& FirstP, const gp_Pnt& LastP, const Quantity_NameOfColor aColor = Quantity_NOC_PURPLE, const Standard_Real aWidth = 2, const Aspect_TypeOfLine aProjTOL = Aspect_TOL_DASH, const Aspect_TypeOfLine aCallTOL = Aspect_TOL_DOT) const;
|
Standard_EXPORT void ComputeProjEdgePresentation (const Handle(Prs3d_Presentation)& aPres, const TopoDS_Edge& anEdge, const Handle(Geom_Curve)& ProjCurve, const gp_Pnt& FirstP, const gp_Pnt& LastP, const Quantity_NameOfColor aColor = Quantity_NOC_PURPLE, const Standard_Real aWidth = 2, const Aspect_TypeOfLine aProjTOL = Aspect_TOL_DASH, const Aspect_TypeOfLine aCallTOL = Aspect_TOL_DOT) const;
|
||||||
|
|
||||||
//! Calculates the presentation aPres of the the vertex
|
//! Calculates the presentation aPres of the vertex
|
||||||
//! aVertex and the point it defines, ProjPoint.
|
//! aVertex and the point it defines, ProjPoint.
|
||||||
//! The presentation includes settings for color aColor,
|
//! The presentation includes settings for color aColor,
|
||||||
//! type - aProjTOM and aCallTOL - and width of line, aWidth.
|
//! type - aProjTOM and aCallTOL - and width of line, aWidth.
|
||||||
|
@ -117,7 +117,7 @@ static Standard_Integer OCC426 (Draw_Interpretor& di, Standard_Integer argc, con
|
|||||||
anUnify.Build();
|
anUnify.Build();
|
||||||
const TopoDS_Shape& aFuseUnif = anUnify.Shape();
|
const TopoDS_Shape& aFuseUnif = anUnify.Shape();
|
||||||
|
|
||||||
//Give the mass claculation of the shpae "aFuseUnif"
|
//Give the mass calculation of the shape "aFuseUnif"
|
||||||
GProp_GProps G;
|
GProp_GProps G;
|
||||||
BRepGProp::VolumeProperties(aFuseUnif, G);
|
BRepGProp::VolumeProperties(aFuseUnif, G);
|
||||||
di<<" \n";
|
di<<" \n";
|
||||||
@ -744,7 +744,7 @@ static Standard_Integer OCC825 (Draw_Interpretor& di,Standard_Integer argc, cons
|
|||||||
|
|
||||||
di << "*************************************************************\n";
|
di << "*************************************************************\n";
|
||||||
di << " CUT 1 and CUT 2 gives entirely different results during\n";
|
di << " CUT 1 and CUT 2 gives entirely different results during\n";
|
||||||
di << " mass computation and face triangulation, eventhough the\n";
|
di << " mass computation and face triangulation, even though the\n";
|
||||||
di << " two spheres are located more or less at the same position.\n";
|
di << " two spheres are located more or less at the same position.\n";
|
||||||
di << "*************************************************************\n";
|
di << "*************************************************************\n";
|
||||||
|
|
||||||
|
@ -1109,7 +1109,7 @@ static Standard_Integer OCC22 (Draw_Interpretor& di, Standard_Integer argc, cons
|
|||||||
// 4.1. Retrieve Shape
|
// 4.1. Retrieve Shape
|
||||||
TopoDS_Shape anInitShape = DBRep::Get(argv[2]);
|
TopoDS_Shape anInitShape = DBRep::Get(argv[2]);
|
||||||
if(anInitShape.IsNull()) { di << "OCC22 FAULTY. Initial shape is not exist. Please verify input values \n"; return 0;}
|
if(anInitShape.IsNull()) { di << "OCC22 FAULTY. Initial shape is not exist. Please verify input values \n"; return 0;}
|
||||||
// 4.2 Rebuid retrieved shape
|
// 4.2 Rebuild retrieved shape
|
||||||
TopoDS_Shape aResultShape = aReshape->Apply(anInitShape);
|
TopoDS_Shape aResultShape = aReshape->Apply(anInitShape);
|
||||||
// 4.3. Create result Draw shape
|
// 4.3. Create result Draw shape
|
||||||
DBRep::Set(argv[1], aResultShape);
|
DBRep::Set(argv[1], aResultShape);
|
||||||
@ -2096,7 +2096,7 @@ static Standard_Integer OCC5698 (Draw_Interpretor& di, Standard_Integer argc, co
|
|||||||
GCPnts_AbscissaPoint(check_curve, need_length, 0).Parameter();
|
GCPnts_AbscissaPoint(check_curve, need_length, 0).Parameter();
|
||||||
gp_Pnt check_pnt;
|
gp_Pnt check_pnt;
|
||||||
check_curve.D0(check_par,check_pnt);
|
check_curve.D0(check_par,check_pnt);
|
||||||
// check that points are coinsiding
|
// check that points are coinciding
|
||||||
Standard_Real error_dist = pnt.Distance(check_pnt);
|
Standard_Real error_dist = pnt.Distance(check_pnt);
|
||||||
if (error_dist > Precision::Confusion()) {
|
if (error_dist > Precision::Confusion()) {
|
||||||
//std::cout.precision(3);
|
//std::cout.precision(3);
|
||||||
@ -2614,7 +2614,7 @@ static Standard_Integer OCC7372 (Draw_Interpretor& di, Standard_Integer argc, co
|
|||||||
Standard_CString CString1 = "BSplineCurve";
|
Standard_CString CString1 = "BSplineCurve";
|
||||||
DrawTrSurf::Set(CString1,bspline1);
|
DrawTrSurf::Set(CString1,bspline1);
|
||||||
|
|
||||||
// 4. Convers BSpline curve to Bezier segments
|
// 4. Converts BSpline curve to Bezier segments
|
||||||
Geom2dConvert_BSplineCurveToBezierCurve bc(bspline1);
|
Geom2dConvert_BSplineCurveToBezierCurve bc(bspline1);
|
||||||
|
|
||||||
// 5. Test the result of conversion
|
// 5. Test the result of conversion
|
||||||
|
@ -388,9 +388,9 @@ static Standard_Integer BUC60944 (Draw_Interpretor& di, Standard_Integer argc, c
|
|||||||
TCollection_AsciiString out;
|
TCollection_AsciiString out;
|
||||||
aPath->SystemName(out);
|
aPath->SystemName(out);
|
||||||
if(in == out)
|
if(in == out)
|
||||||
di << "The convertion is right.\n";
|
di << "The conversion is right.\n";
|
||||||
else
|
else
|
||||||
di << "Faulty : The convertion is incorrect : " << out.ToCString() << "\n";
|
di << "Faulty : The conversion is incorrect : " << out.ToCString() << "\n";
|
||||||
di << out.ToCString() << "\n";
|
di << out.ToCString() << "\n";
|
||||||
// std::cout << aPath->Trek() << " !" << std::endl;
|
// std::cout << aPath->Trek() << " !" << std::endl;
|
||||||
return 0;
|
return 0;
|
||||||
@ -1030,7 +1030,7 @@ static Standard_Integer OCC16485 (Draw_Interpretor& di, Standard_Integer argc, c
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create points with X co-ordinate from varying from 0. to 1000.
|
// Create points with X coordinate from varying from 0. to 1000.
|
||||||
// anc compute cumulative bounding box by adding boxes for all the
|
// anc compute cumulative bounding box by adding boxes for all the
|
||||||
// points, enlarged on tolerance
|
// points, enlarged on tolerance
|
||||||
|
|
||||||
|
@ -3696,7 +3696,7 @@ static Standard_Integer OCC25574 (Draw_Interpretor& theDI, Standard_Integer /*ar
|
|||||||
{
|
{
|
||||||
// Iterate over rotations R(A)R(B)R(G) for each Euler angle Alpha, Beta, Gamma
|
// Iterate over rotations R(A)R(B)R(G) for each Euler angle Alpha, Beta, Gamma
|
||||||
// There are three ordered axes corresponding to three rotations.
|
// There are three ordered axes corresponding to three rotations.
|
||||||
// Each rotation applyed with current angle around current axis.
|
// Each rotation applied with current angle around current axis.
|
||||||
for (int j=0; j < 3; j++)
|
for (int j=0; j < 3; j++)
|
||||||
{
|
{
|
||||||
// note that current axis index is obtained by parsing of enumeration name!
|
// note that current axis index is obtained by parsing of enumeration name!
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user