Open CASCADE Technology 6.6.0
|
Describes a surface of linear extrusion ("extruded <br>
surface"), e.g. a generalized cylinder. Such a surface
is obtained by sweeping a curve (called the "extruded <br>
curve" or "basis") in a given direction (referred to as
the "direction of extrusion" and defined by a unit vector).
The u parameter is along the extruded curve. The v
parameter is along the direction of extrusion.
The parameter range for the u parameter is defined
by the reference curve.
The parameter range for the v parameter is ] -
infinity, + infinity [.
The position of the curve gives the origin of the v parameter.
The surface is "CN" in the v parametric direction.
The form of a surface of linear extrusion is generally a
ruled surface (GeomAbs_RuledForm). It can be:
More...
#include <Geom_SurfaceOfLinearExtrusion.hxx>
Public Member Functions | |
Geom_SurfaceOfLinearExtrusion (const Handle< Geom_Curve > &C, const gp_Dir &V) | |
V is the direction of extrusion. C is the extruded curve. The form of a SurfaceOfLinearExtrusion can be : . ruled surface (RuledForm), . a cylindrical surface if the extruded curve is a circle or a trimmed circle (CylindricalForm), . a plane surface if the extruded curve is a Line (PlanarForm). Warnings : Degenerated surface cases are not detected. For example if the curve C is a line and V is parallel to the direction of this line. | |
void | SetDirection (const gp_Dir &V) |
Assigns V as the "direction of extrusion" for this surface of linear extrusion. | |
void | SetBasisCurve (const Handle< Geom_Curve > &C) |
Modifies this surface of linear extrusion by redefining its "basis curve" (the "extruded curve"). | |
void | UReverse () |
Changes the orientation of this surface of linear extrusion in the u parametric direction. The bounds of the surface are not changed, but the given parametric direction is reversed. Hence the orientation of the surface is reversed. In the case of a surface of linear extrusion: | |
Standard_Real | UReversedParameter (const Standard_Real U) const |
Computes the u parameter on the modified surface, produced by reversing its u parametric direction, for any point of u parameter U on this surface of linear extrusion. In the case of an extruded surface: | |
void | VReverse () |
Changes the orientation of this surface of linear extrusion in the v parametric direction. The bounds of the surface are not changed, but the given parametric direction is reversed. Hence the orientation of the surface is reversed. In the case of a surface of linear extrusion: | |
Standard_Real | VReversedParameter (const Standard_Real V) const |
Computes the v parameter on the modified surface, produced by reversing its u v parametric direction, for any point of v parameter V on this surface of linear extrusion. In the case of an extruded surface VReverse returns -V. | |
void | Bounds (Standard_Real &U1, Standard_Real &U2, Standard_Real &V1, Standard_Real &V2) const |
Returns the parametric bounds U1, U2, V1 and V2 of this surface of linear extrusion. A surface of linear extrusion is infinite in the v parametric direction, so: | |
Standard_Boolean | IsUClosed () const |
IsUClosed returns true if the "basis curve" of this surface of linear extrusion is closed. | |
Standard_Boolean | IsVClosed () const |
IsVClosed always returns false. | |
Standard_Boolean | IsCNu (const Standard_Integer N) const |
IsCNu returns true if the degree of continuity for the "basis curve" of this surface of linear extrusion is at least N. Raises RangeError if N < 0. | |
Standard_Boolean | IsCNv (const Standard_Integer N) const |
IsCNv always returns true. | |
Standard_Boolean | IsUPeriodic () const |
IsUPeriodic returns true if the "basis curve" of this surface of linear extrusion is periodic. | |
Standard_Boolean | IsVPeriodic () const |
IsVPeriodic always returns false. | |
Handle_Geom_Curve | UIso (const Standard_Real U) const |
Computes the U isoparametric curve of this surface of linear extrusion. This is the line parallel to the direction of extrusion, passing through the point of parameter U of the basis curve. | |
Handle_Geom_Curve | VIso (const Standard_Real V) const |
Computes the V isoparametric curve of this surface of linear extrusion. This curve is obtained by translating the extruded curve in the direction of extrusion, with the magnitude V. | |
void | D0 (const Standard_Real U, const Standard_Real V, gp_Pnt &P) const |
Computes the point P (U, V) on the surface. The parameter U is the parameter on the extruded curve. The parametrization V is a linear parametrization, and the direction of parametrization is the direction of extrusion. If the point is on the extruded curve, V = 0.0 | |
void | D1 (const Standard_Real U, const Standard_Real V, gp_Pnt &P, gp_Vec &D1U, gp_Vec &D1V) const |
Computes the current point and the first derivatives in the directions U and V. Raises UndefinedDerivative if the continuity of the surface is not C1. | |
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 |
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 |
Computes the current point, the first,the second and the third derivatives in the directions U and V. Raises UndefinedDerivative if the continuity of the surface is not C3. | |
gp_Vec | DN (const Standard_Real U, const Standard_Real V, const Standard_Integer Nu, const Standard_Integer Nv) const |
Computes the derivative of order Nu in the direction u and Nv in the direction v. Raises UndefinedDerivative if the continuity of the surface is not CNu in the u direction and CNv in the v direction. Raises RangeError if Nu + Nv < 1 or Nu < 0 or Nv < 0. | |
void | LocalD0 (const Standard_Real U, const Standard_Real V, const Standard_Integer USide, gp_Pnt &P) const |
The following functions evaluates the local derivatives on surface. Useful to manage discontinuities on the surface. if Side = 1 -> P = S( U+,V ) if Side = -1 -> P = S( U-,V ) else P is betveen discontinuities can be evaluated using methods of global evaluations P = S( U ,V ) | |
void | LocalD1 (const Standard_Real U, const Standard_Real V, const Standard_Integer USide, gp_Pnt &P, gp_Vec &D1U, gp_Vec &D1V) const |
void | LocalD2 (const Standard_Real U, const Standard_Real V, const Standard_Integer USide, gp_Pnt &P, gp_Vec &D1U, gp_Vec &D1V, gp_Vec &D2U, gp_Vec &D2V, gp_Vec &D2UV) const |
void | LocalD3 (const Standard_Real U, const Standard_Real V, const Standard_Integer USide, 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 |
gp_Vec | LocalDN (const Standard_Real U, const Standard_Real V, const Standard_Integer USide, const Standard_Integer Nu, const Standard_Integer Nv) const |
void | Transform (const gp_Trsf &T) |
Applies the transformation T to this surface of linear extrusion. | |
virtual void | TransformParameters (Standard_Real &U, Standard_Real &V, const gp_Trsf &T) const |
Computes the parameters on the transformed surface for the transform of the point of parameters U,V on <me>. me->Transformed(T)->Value(U',V') is the same point as me->Value(U,V).Transformed(T) Where U',V' are the new values of U,V after calling me->TranformParameters(U,V,T) This methods multiplies : U by BasisCurve()->ParametricTransformation(T) V by T.ScaleFactor() | |
virtual gp_GTrsf2d | ParametricTransformation (const gp_Trsf &T) const |
Returns a 2d transformation used to find the new parameters of a point on the transformed surface. me->Transformed(T)->Value(U',V') is the same point as me->Value(U,V).Transformed(T) Where U',V' are obtained by transforming U,V with th 2d transformation returned by me->ParametricTransformation(T) This methods returns a scale U by BasisCurve()->ParametricTransformation(T) V by T.ScaleFactor() | |
Handle_Geom_Geometry | Copy () const |
Creates a new object which is a copy of this surface of linear extrusion. |
Geom_SurfaceOfLinearExtrusion::Geom_SurfaceOfLinearExtrusion | ( | const Handle< Geom_Curve > & | C, |
const gp_Dir & | V | ||
) |
void Geom_SurfaceOfLinearExtrusion::Bounds | ( | Standard_Real & | U1, |
Standard_Real & | U2, | ||
Standard_Real & | V1, | ||
Standard_Real & | V2 | ||
) | const [virtual] |
Handle_Geom_Geometry Geom_SurfaceOfLinearExtrusion::Copy | ( | ) | const [virtual] |
Implements Geom_Geometry.
void Geom_SurfaceOfLinearExtrusion::D0 | ( | const Standard_Real | U, |
const Standard_Real | V, | ||
gp_Pnt & | P | ||
) | const [virtual] |
Implements Geom_Surface.
void Geom_SurfaceOfLinearExtrusion::D1 | ( | const Standard_Real | U, |
const Standard_Real | V, | ||
gp_Pnt & | P, | ||
gp_Vec & | D1U, | ||
gp_Vec & | D1V | ||
) | const [virtual] |
Implements Geom_Surface.
void Geom_SurfaceOfLinearExtrusion::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 [virtual] |
--- Purpose ;
Computes the current point, the first and the second derivatives
in the directions U and V.
Raises UndefinedDerivative if the continuity of the surface is not C2.
Implements Geom_Surface.
void Geom_SurfaceOfLinearExtrusion::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 [virtual] |
Implements Geom_Surface.
gp_Vec Geom_SurfaceOfLinearExtrusion::DN | ( | const Standard_Real | U, |
const Standard_Real | V, | ||
const Standard_Integer | Nu, | ||
const Standard_Integer | Nv | ||
) | const [virtual] |
Implements Geom_Surface.
Standard_Boolean Geom_SurfaceOfLinearExtrusion::IsCNu | ( | const Standard_Integer | N | ) | const [virtual] |
Implements Geom_Surface.
Standard_Boolean Geom_SurfaceOfLinearExtrusion::IsCNv | ( | const Standard_Integer | N | ) | const [virtual] |
Implements Geom_Surface.
Standard_Boolean Geom_SurfaceOfLinearExtrusion::IsUClosed | ( | ) | const [virtual] |
Implements Geom_Surface.
Standard_Boolean Geom_SurfaceOfLinearExtrusion::IsUPeriodic | ( | ) | const [virtual] |
Implements Geom_Surface.
Standard_Boolean Geom_SurfaceOfLinearExtrusion::IsVClosed | ( | ) | const [virtual] |
Implements Geom_Surface.
Standard_Boolean Geom_SurfaceOfLinearExtrusion::IsVPeriodic | ( | ) | const [virtual] |
Implements Geom_Surface.
void Geom_SurfaceOfLinearExtrusion::LocalD0 | ( | const Standard_Real | U, |
const Standard_Real | V, | ||
const Standard_Integer | USide, | ||
gp_Pnt & | P | ||
) | const |
void Geom_SurfaceOfLinearExtrusion::LocalD1 | ( | const Standard_Real | U, |
const Standard_Real | V, | ||
const Standard_Integer | USide, | ||
gp_Pnt & | P, | ||
gp_Vec & | D1U, | ||
gp_Vec & | D1V | ||
) | const |
void Geom_SurfaceOfLinearExtrusion::LocalD2 | ( | const Standard_Real | U, |
const Standard_Real | V, | ||
const Standard_Integer | USide, | ||
gp_Pnt & | P, | ||
gp_Vec & | D1U, | ||
gp_Vec & | D1V, | ||
gp_Vec & | D2U, | ||
gp_Vec & | D2V, | ||
gp_Vec & | D2UV | ||
) | const |
void Geom_SurfaceOfLinearExtrusion::LocalD3 | ( | const Standard_Real | U, |
const Standard_Real | V, | ||
const Standard_Integer | USide, | ||
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 |
gp_Vec Geom_SurfaceOfLinearExtrusion::LocalDN | ( | const Standard_Real | U, |
const Standard_Real | V, | ||
const Standard_Integer | USide, | ||
const Standard_Integer | Nu, | ||
const Standard_Integer | Nv | ||
) | const |
virtual gp_GTrsf2d Geom_SurfaceOfLinearExtrusion::ParametricTransformation | ( | const gp_Trsf & | T | ) | const [virtual] |
Reimplemented from Geom_Surface.
void Geom_SurfaceOfLinearExtrusion::SetBasisCurve | ( | const Handle< Geom_Curve > & | C | ) |
void Geom_SurfaceOfLinearExtrusion::SetDirection | ( | const gp_Dir & | V | ) |
void Geom_SurfaceOfLinearExtrusion::Transform | ( | const gp_Trsf & | T | ) | [virtual] |
Implements Geom_Geometry.
virtual void Geom_SurfaceOfLinearExtrusion::TransformParameters | ( | Standard_Real & | U, |
Standard_Real & | V, | ||
const gp_Trsf & | T | ||
) | const [virtual] |
Reimplemented from Geom_Surface.
Handle_Geom_Curve Geom_SurfaceOfLinearExtrusion::UIso | ( | const Standard_Real | U | ) | const [virtual] |
Implements Geom_Surface.
void Geom_SurfaceOfLinearExtrusion::UReverse | ( | ) | [virtual] |
Implements Geom_Surface.
Standard_Real Geom_SurfaceOfLinearExtrusion::UReversedParameter | ( | const Standard_Real | U | ) | const [virtual] |
Implements Geom_Surface.
Handle_Geom_Curve Geom_SurfaceOfLinearExtrusion::VIso | ( | const Standard_Real | V | ) | const [virtual] |
Implements Geom_Surface.
void Geom_SurfaceOfLinearExtrusion::VReverse | ( | ) | [virtual] |
Implements Geom_Surface.
Standard_Real Geom_SurfaceOfLinearExtrusion::VReversedParameter | ( | const Standard_Real | V | ) | const [virtual] |
Implements Geom_Surface.