| 
    Open CASCADE Technology 7.8.2.dev
    
   | 
 
Describes a surface of linear extrusion ("extruded surface"), e.g. a generalized cylinder. Such a surface is obtained by sweeping a curve (called the "extruded 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 () override | 
| 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 override | 
| 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 () override | 
| 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 override | 
| 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 override | 
| 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 override | 
| IsUClosed returns true if the "basis curve" of this surface of linear extrusion is closed.   | |
| Standard_Boolean | IsVClosed () const override | 
| IsVClosed always returns false.   | |
| Standard_Boolean | IsCNu (const Standard_Integer N) const override | 
| 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 override | 
| IsCNv always returns true.   | |
| Standard_Boolean | IsUPeriodic () const override | 
| IsUPeriodic returns true if the "basis curve" of this surface of linear extrusion is periodic.   | |
| Standard_Boolean | IsVPeriodic () const override | 
| IsVPeriodic always returns false.   | |
| Handle< Geom_Curve > | UIso (const Standard_Real U) const override | 
| 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 override | 
| 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 override | 
| 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 override | 
| 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 override | 
| — 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.   | |
| 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 override | 
| 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 override | 
| 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 | Transform (const gp_Trsf &T) override | 
| Applies the transformation T to this surface of linear extrusion.   | |
| virtual void | TransformParameters (Standard_Real &U, Standard_Real &V, const gp_Trsf &T) const override | 
| Computes the parameters on the transformed surface for the transform of the point of parameters U,V on <me>.   | |
| virtual gp_GTrsf2d | ParametricTransformation (const gp_Trsf &T) const override | 
| Returns a 2d transformation used to find the new parameters of a point on the transformed surface.   | |
| Handle< Geom_Geometry > | Copy () const override | 
| Creates a new object which is a copy of this surface of linear extrusion.   | |
| virtual void | DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const override | 
| Dumps the content of me into the stream.   | |
  Public Member Functions inherited from Geom_SweptSurface | |
| GeomAbs_Shape | Continuity () const override | 
| returns the continuity of the surface : C0 : only geometric continuity, C1 : continuity of the first derivative all along the surface, C2 : continuity of the second derivative all along the surface, C3 : continuity of the third derivative all along the surface, G1 : tangency continuity all along the surface, G2 : curvature continuity all along the surface, CN : the order of continuity is infinite.   | |
| const gp_Dir & | Direction () const | 
| Returns the reference direction of the swept surface. For a surface of revolution it is the direction of the revolution axis, for a surface of linear extrusion it is the direction of extrusion.   | |
| Handle< Geom_Curve > | BasisCurve () const | 
| Returns the referenced curve of the surface. For a surface of revolution it is the revolution curve, for a surface of linear extrusion it is the extruded curve.   | |
  Public Member Functions inherited from Geom_Surface | |
| Handle< Geom_Surface > | UReversed () const | 
| Reverses the U direction of parametrization of <me>. The bounds of the surface are not modified. A copy of <me> is returned.   | |
| Handle< Geom_Surface > | VReversed () const | 
| Reverses the V direction of parametrization of <me>. The bounds of the surface are not modified. A copy of <me> is returned.   | |
| virtual Standard_Real | UPeriod () const | 
| Returns the period of this surface in the u parametric direction. Raises if the surface is not uperiodic.   | |
| virtual Standard_Real | VPeriod () const | 
| Returns the period of this surface in the v parametric direction. raises if the surface is not vperiodic.   | |
| gp_Pnt | Value (const Standard_Real U, const Standard_Real V) const | 
| Computes the point of parameter (U, V) on the surface.   | |
  Public Member Functions inherited from Geom_Geometry | |
| void | Mirror (const gp_Pnt &P) | 
| Performs the symmetrical transformation of a Geometry with respect to the point P which is the center of the symmetry.   | |
| void | Mirror (const gp_Ax1 &A1) | 
| Performs the symmetrical transformation of a Geometry with respect to an axis placement which is the axis of the symmetry.   | |
| void | Mirror (const gp_Ax2 &A2) | 
| Performs the symmetrical transformation of a Geometry with respect to a plane. The axis placement A2 locates the plane of the symmetry : (Location, XDirection, YDirection).   | |
| void | Rotate (const gp_Ax1 &A1, const Standard_Real Ang) | 
| Rotates a Geometry. A1 is the axis of the rotation. Ang is the angular value of the rotation in radians.   | |
| void | Scale (const gp_Pnt &P, const Standard_Real S) | 
| Scales a Geometry. S is the scaling value.   | |
| void | Translate (const gp_Vec &V) | 
| Translates a Geometry. V is the vector of the translation.   | |
| void | Translate (const gp_Pnt &P1, const gp_Pnt &P2) | 
| Translates a Geometry from the point P1 to the point P2.   | |
| Handle< Geom_Geometry > | Mirrored (const gp_Pnt &P) const | 
| Handle< Geom_Geometry > | Mirrored (const gp_Ax1 &A1) const | 
| Handle< Geom_Geometry > | Mirrored (const gp_Ax2 &A2) const | 
| Handle< Geom_Geometry > | Rotated (const gp_Ax1 &A1, const Standard_Real Ang) const | 
| Handle< Geom_Geometry > | Scaled (const gp_Pnt &P, const Standard_Real S) const | 
| Handle< Geom_Geometry > | Transformed (const gp_Trsf &T) const | 
| Handle< Geom_Geometry > | Translated (const gp_Vec &V) const | 
| Handle< Geom_Geometry > | Translated (const gp_Pnt &P1, const gp_Pnt &P2) const | 
  Public Member Functions inherited from Standard_Transient | |
| Standard_Transient () | |
| Empty constructor.   | |
| Standard_Transient (const Standard_Transient &) | |
| Copy constructor – does nothing.   | |
| Standard_Transient & | operator= (const Standard_Transient &) | 
| Assignment operator, needed to avoid copying reference counter.   | |
| virtual | ~Standard_Transient () | 
| Destructor must be virtual.   | |
| virtual const opencascade::handle< Standard_Type > & | DynamicType () const | 
| Returns a type descriptor about this object.   | |
| Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const | 
| Returns a true value if this is an instance of Type.   | |
| Standard_Boolean | IsInstance (const Standard_CString theTypeName) const | 
| Returns a true value if this is an instance of TypeName.   | |
| Standard_Boolean | IsKind (const opencascade::handle< Standard_Type > &theType) const | 
| Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism.   | |
| Standard_Boolean | IsKind (const Standard_CString theTypeName) const | 
| Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism.   | |
| Standard_Transient * | This () const | 
| Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero.   | |
| Standard_Integer | GetRefCount () const noexcept | 
| Get the reference counter of this object.   | |
| void | IncrementRefCounter () noexcept | 
| Increments the reference counter of this object.   | |
| Standard_Integer | DecrementRefCounter () noexcept | 
| Decrements the reference counter of this object; returns the decremented value.   | |
| virtual void | Delete () const | 
| Memory deallocator for transient classes.   | |
Additional Inherited Members | |
  Public Types inherited from Standard_Transient | |
| typedef void | base_type | 
| Returns a type descriptor about this object.   | |
  Static Public Member Functions inherited from Standard_Transient | |
| static constexpr const char * | get_type_name () | 
| Returns a type descriptor about this object.   | |
| static const opencascade::handle< Standard_Type > & | get_type_descriptor () | 
| Returns type descriptor of Standard_Transient class.   | |
  Protected Attributes inherited from Geom_SweptSurface | |
| Handle< Geom_Curve > | basisCurve | 
| gp_Dir | direction | 
| GeomAbs_Shape | smooth | 
Describes a surface of linear extrusion ("extruded surface"), e.g. a generalized cylinder. Such a surface is obtained by sweeping a curve (called the "extruded 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:
| Geom_SurfaceOfLinearExtrusion::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.
      
  | 
  overridevirtual | 
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:
Implements Geom_Surface.
      
  | 
  overridevirtual | 
Creates a new object which is a copy of this surface of linear extrusion.
Implements Geom_Geometry.
      
  | 
  overridevirtual | 
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.
Implements Geom_Surface.
      
  | 
  overridevirtual | 
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.
Implements Geom_Surface.
      
  | 
  overridevirtual | 
— 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.
      
  | 
  overridevirtual | 
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.
Implements Geom_Surface.
      
  | 
  overridevirtual | 
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.
Implements Geom_Surface.
      
  | 
  overridevirtual | 
Dumps the content of me into the stream.
Reimplemented from Geom_SweptSurface.
      
  | 
  overridevirtual | 
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.
Implements Geom_Surface.
      
  | 
  overridevirtual | 
IsCNv always returns true.
Implements Geom_Surface.
      
  | 
  overridevirtual | 
IsUClosed returns true if the "basis curve" of this surface of linear extrusion is closed.
Implements Geom_Surface.
      
  | 
  overridevirtual | 
IsUPeriodic returns true if the "basis curve" of this surface of linear extrusion is periodic.
Implements Geom_Surface.
      
  | 
  overridevirtual | 
IsVClosed always returns false.
Implements Geom_Surface.
      
  | 
  overridevirtual | 
IsVPeriodic always returns false.
Implements Geom_Surface.
      
  | 
  overridevirtual | 
Returns a 2d transformation used to find the new parameters of a point on the transformed surface.
is the same point as
Where U',V' are obtained by transforming U,V with the 2d transformation returned by
This method returns a scale U by BasisCurve()->ParametricTransformation(T) V by T.ScaleFactor()
Reimplemented from Geom_Surface.
| void Geom_SurfaceOfLinearExtrusion::SetBasisCurve | ( | const Handle< Geom_Curve > & | C | ) | 
Modifies this surface of linear extrusion by redefining its "basis curve" (the "extruded curve").
Assigns V as the "direction of extrusion" for this surface of linear extrusion.
Applies the transformation T to this surface of linear extrusion.
Implements Geom_Geometry.
      
  | 
  overridevirtual | 
Computes the parameters on the transformed surface for the transform of the point of parameters U,V on <me>.
is the same point as
Where U',V' are the new values of U,V after calling
This method multiplies: U by BasisCurve()->ParametricTransformation(T) V by T.ScaleFactor()
Reimplemented from Geom_Surface.
      
  | 
  overridevirtual | 
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.
Implements Geom_Surface.
      
  | 
  overridevirtual | 
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:
Implements Geom_Surface.
      
  | 
  overridevirtual | 
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:
Implements Geom_Surface.
      
  | 
  overridevirtual | 
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.
Implements Geom_Surface.
      
  | 
  overridevirtual | 
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:
Implements Geom_Surface.
      
  | 
  overridevirtual | 
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.
Implements Geom_Surface.