|
Open CASCADE Technology
6.7.1
|
Constructs curves with a constant or linearly increasing
section to be used in the design of wooden or plastic
battens. These curves are two-dimensional, and
simulate physical splines or battens.
More...
#include <FairCurve_Batten.hxx>

Public Member Functions | |
| FairCurve_Batten (const gp_Pnt2d &P1, const gp_Pnt2d &P2, const Standard_Real Height, const Standard_Real Slope=0) | |
Constructor with the two points and the geometrical <br>
characteristics of the batten (elastic beam) <br>
Height is the height of the deformation, and Slope is the | |
| virtual void | Delete () |
| virtual | ~FairCurve_Batten () |
| void | SetFreeSliding (const Standard_Boolean FreeSliding) |
Freesliding is initialized with the default setting false. <br> When Freesliding is set to true and, as a result, sliding | |
| void | SetConstraintOrder1 (const Standard_Integer ConstraintOrder) |
Allows you to change the order of the constraint on the <br> first point. ConstraintOrder has the default setting of 1. | |
| void | SetConstraintOrder2 (const Standard_Integer ConstraintOrder) |
Allows you to change the order of the constraint on the <br> second point. ConstraintOrder is initialized with the default setting of 1. | |
| void | SetP1 (const gp_Pnt2d &P1) |
Allows you to change the location of the point, P1, and in <br> doing so, modify the curve. | |
| void | SetP2 (const gp_Pnt2d &P2) |
Allows you to change the location of the point, P1, and in <br> doing so, modify the curve. | |
| void | SetAngle1 (const Standard_Real Angle1) |
Allows you to change the angle Angle1 at the first point, <br> P1. The default setting is 0. | |
| void | SetAngle2 (const Standard_Real Angle2) |
Allows you to change the angle Angle2 at the second <br> point, P2. The default setting is 0. | |
| void | SetHeight (const Standard_Real Height) |
Allows you to change the height of the deformation. <br> Raises NegativeValue; – if Height <= 0 | |
| void | SetSlope (const Standard_Real Slope) |
| Allows you to set the slope value, Slope. More... | |
| void | SetSlidingFactor (const Standard_Real SlidingFactor) |
Allows you to change the ratio SlidingFactor. This <br> compares the length of the batten and the reference | |
| virtual Standard_Boolean | Compute (FairCurve_AnalysisCode &Code, const Standard_Integer NbIterations=50, const Standard_Real Tolerance=1.0e-3) |
Performs the algorithm, using the arguments Code, <br> NbIterations and Tolerance and computes the curve | |
| Standard_Real | SlidingOfReference () const |
Computes the real number value for length Sliding of <br> Reference for new constraints. If you want to give a | |
| Standard_Boolean | GetFreeSliding () const |
Returns the initial free sliding value, false by default. <br> Free sliding is generally more aesthetically pleasing | |
| Standard_Integer | GetConstraintOrder1 () const |
| Returns the established first constraint order. More... | |
| Standard_Integer | GetConstraintOrder2 () const |
| Returns the established second constraint order. More... | |
| const gp_Pnt2d & | GetP1 () const |
| Returns the established location of the point P1. More... | |
| const gp_Pnt2d & | GetP2 () const |
| Returns the established location of the point P2. More... | |
| Standard_Real | GetAngle1 () const |
| Returns the established first angle. More... | |
| Standard_Real | GetAngle2 () const |
| Returns the established second angle. More... | |
| Standard_Real | GetHeight () const |
| Returns the thickness of the lathe. More... | |
| Standard_Real | GetSlope () const |
| Returns the established slope value. More... | |
| Standard_Real | GetSlidingFactor () const |
| Returns the initial sliding factor. More... | |
| Handle_Geom2d_BSplineCurve | Curve () const |
| Returns the computed curve a 2d BSpline. More... | |
| virtual void | Dump (Standard_OStream &o) const |
Prints on the stream o information on the current state <br>
of the object. <br>
| |
Protected Member Functions | |
| Standard_Real | SlidingOfReference (const Standard_Real D, const Standard_Real A1, const Standard_Real A2) const |
| Standard_Real | Compute (const Standard_Real D, const Standard_Real A1, const Standard_Real A2) const |
| Standard_Real | Compute (const Standard_Real D, const Standard_Real A) const |
| Returns the effective geometrical constraints at the last batten computation. This effectives values may be not equal with the wanted values if More... | |
Protected Attributes | |
| FairCurve_AnalysisCode | myCode |
| gp_Pnt2d | OldP1 |
| gp_Pnt2d | OldP2 |
| Standard_Real | OldAngle1 |
| Standard_Real | OldAngle2 |
| Standard_Real | OldHeight |
| Standard_Real | OldSlope |
| Standard_Real | OldSlidingFactor |
| Standard_Boolean | OldFreeSliding |
| Standard_Integer | OldConstraintOrder1 |
| Standard_Integer | OldConstraintOrder2 |
| gp_Pnt2d | NewP1 |
| gp_Pnt2d | NewP2 |
| Standard_Real | NewAngle1 |
| Standard_Real | NewAngle2 |
| Standard_Real | NewHeight |
| Standard_Real | NewSlope |
| Standard_Real | NewSlidingFactor |
| Standard_Boolean | NewFreeSliding |
| Standard_Integer | NewConstraintOrder1 |
| Standard_Integer | NewConstraintOrder2 |
| Standard_Integer | Degree |
| Handle_TColgp_HArray1OfPnt2d | Poles |
| Handle_TColStd_HArray1OfReal | Flatknots |
| Handle_TColStd_HArray1OfReal | Knots |
| Handle_TColStd_HArray1OfInteger | Mults |
Constructs curves with a constant or linearly increasing
section to be used in the design of wooden or plastic
battens. These curves are two-dimensional, and
simulate physical splines or battens.
| FairCurve_Batten::FairCurve_Batten | ( | const gp_Pnt2d & | P1, |
| const gp_Pnt2d & | P2, | ||
| const Standard_Real | Height, | ||
| const Standard_Real | Slope = 0 |
||
| ) |
Constructor with the two points and the geometrical <br>
characteristics of the batten (elastic beam) <br>
Height is the height of the deformation, and Slope is the
slope value, initialized at 0. The user can then supply the
desired slope value by the method, SetSlope.
Other parameters are initialized as follow :
- FreeSliding = False <br>
- ConstraintOrder1 = 1 <br>
- ConstraintOrder2 = 1 <br>
- Angle1 = 0 <br>
- Angle2 = 0 <br>
- SlidingFactor = 1 <br>
Exceptions
NegativeValue if Height is less than or equal to 0.
NullValue if the distance between P1 and P2 is less
than or equal to the tolerance value for distance in
Precision::Confusion: P1.IsEqual(P2,
Precision::Confusion()). The function
gp_Pnt2d::IsEqual tests to see if this is the case.
|
inlinevirtual |
|
virtual |
Performs the algorithm, using the arguments Code, <br>
NbIterations and Tolerance and computes the curve
with respect to the constraints.
Code will have one of the following values:
Reimplemented in FairCurve_MinimalVariation.
|
protected |
|
protected |
Returns the effective geometrical constraints at the
last batten computation. This effectives values may
be not equal with the wanted values if
| Handle_Geom2d_BSplineCurve FairCurve_Batten::Curve | ( | ) | const |
Returns the computed curve a 2d BSpline.
|
virtual |
|
virtual |
Prints on the stream o information on the current state <br>
of the object. <br>
Private methodes -----------------------------------—
Reimplemented in FairCurve_MinimalVariation.
| Standard_Real FairCurve_Batten::GetAngle1 | ( | ) | const |
Returns the established first angle.
| Standard_Real FairCurve_Batten::GetAngle2 | ( | ) | const |
Returns the established second angle.
| Standard_Integer FairCurve_Batten::GetConstraintOrder1 | ( | ) | const |
Returns the established first constraint order.
| Standard_Integer FairCurve_Batten::GetConstraintOrder2 | ( | ) | const |
Returns the established second constraint order.
| Standard_Boolean FairCurve_Batten::GetFreeSliding | ( | ) | const |
Returns the initial free sliding value, false by default. <br>
Free sliding is generally more aesthetically pleasing
than constrained sliding. However, the computation can
fail with values such as angles greater than PI/2. This is
because the resulting batten length is theoretically infinite.
| Standard_Real FairCurve_Batten::GetHeight | ( | ) | const |
Returns the thickness of the lathe.
| const gp_Pnt2d& FairCurve_Batten::GetP1 | ( | ) | const |
Returns the established location of the point P1.
| const gp_Pnt2d& FairCurve_Batten::GetP2 | ( | ) | const |
Returns the established location of the point P2.
| Standard_Real FairCurve_Batten::GetSlidingFactor | ( | ) | const |
Returns the initial sliding factor.
| Standard_Real FairCurve_Batten::GetSlope | ( | ) | const |
Returns the established slope value.
| void FairCurve_Batten::SetAngle1 | ( | const Standard_Real | Angle1 | ) |
Allows you to change the angle Angle1 at the first point, <br>
P1. The default setting is 0.
| void FairCurve_Batten::SetAngle2 | ( | const Standard_Real | Angle2 | ) |
Allows you to change the angle Angle2 at the second <br>
point, P2. The default setting is 0.
| void FairCurve_Batten::SetConstraintOrder1 | ( | const Standard_Integer | ConstraintOrder | ) |
Allows you to change the order of the constraint on the <br>
first point. ConstraintOrder has the default setting of 1.
The following settings are available:
| void FairCurve_Batten::SetConstraintOrder2 | ( | const Standard_Integer | ConstraintOrder | ) |
Allows you to change the order of the constraint on the <br>
second point. ConstraintOrder is initialized with the default setting of 1.
The following settings are available:
| void FairCurve_Batten::SetFreeSliding | ( | const Standard_Boolean | FreeSliding | ) |
Freesliding is initialized with the default setting false. <br>
When Freesliding is set to true and, as a result, sliding
is free, the sliding factor is automatically computed to
satisfy the equilibrium of the batten.
| void FairCurve_Batten::SetHeight | ( | const Standard_Real | Height | ) |
Allows you to change the height of the deformation. <br>
Raises NegativeValue; – if Height <= 0
if Height <= 0
| void FairCurve_Batten::SetP1 | ( | const gp_Pnt2d & | P1 | ) |
Allows you to change the location of the point, P1, and in <br>
doing so, modify the curve.
Warning
This method changes the angle as well as the point.
Exceptions
NullValue if the distance between P1 and P2 is less
than or equal to the tolerance value for distance in
Precision::Confusion: P1.IsEqual(P2,
Precision::Confusion()). The function
gp_Pnt2d::IsEqual tests to see if this is the case.
| void FairCurve_Batten::SetP2 | ( | const gp_Pnt2d & | P2 | ) |
Allows you to change the location of the point, P1, and in <br>
doing so, modify the curve.
Warning
This method changes the angle as well as the point.
Exceptions
NullValue if the distance between P1 and P2 is less
than or equal to the tolerance value for distance in
Precision::Confusion: P1.IsEqual(P2,
Precision::Confusion()). The function
gp_Pnt2d::IsEqual tests to see if this is the case.
| void FairCurve_Batten::SetSlidingFactor | ( | const Standard_Real | SlidingFactor | ) |
Allows you to change the ratio SlidingFactor. This <br>
compares the length of the batten and the reference
length, which is, in turn, a function of the constraints.
This modification has one of the following two effects:
| void FairCurve_Batten::SetSlope | ( | const Standard_Real | Slope | ) |
Allows you to set the slope value, Slope.
| Standard_Real FairCurve_Batten::SlidingOfReference | ( | ) | const |
Computes the real number value for length Sliding of <br>
Reference for new constraints. If you want to give a
specific length to a batten curve, use the following
syntax: b.SetSlidingFactor(L /
b.SlidingOfReference()) where b is the
name of the batten curve object.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
1.8.5