OCCT3D OCCT 8.0.1
OCCT documentation

Search guides and API reference

Enter at least two characters.

    Open CASCADE Technology Reference Manual 8.0.1
    GeomAdaptor_SurfaceOfLinearExtrusion Class Reference

    Generalised cylinder. This surface is obtained by sweeping a curve in a given direction. The parametrization range for the parameter U is defined with referenced the curve. The parametrization range for the parameter V is ]-infinite,+infinite[ The position of the curve gives the origin for the parameter V. The continuity of the surface is CN in the V direction. More...

    #include <GeomAdaptor_SurfaceOfLinearExtrusion.hxx>

    Inheritance diagram for GeomAdaptor_SurfaceOfLinearExtrusion:

    Public Member Functions

     GeomAdaptor_SurfaceOfLinearExtrusion ()
     GeomAdaptor_SurfaceOfLinearExtrusion (const occ::handle< Adaptor3d_Curve > &C)
     The Curve is loaded.
     GeomAdaptor_SurfaceOfLinearExtrusion (const occ::handle< Adaptor3d_Curve > &C, const gp_Dir &V)
     Thew Curve and the Direction are loaded.
    occ::handle< Adaptor3d_SurfaceShallowCopy () const override
     Shallow copy of adaptor.
    void Load (const occ::handle< Adaptor3d_Curve > &C)
     Changes the Curve.
    void Load (const gp_Dir &V)
     Changes the Direction.
    double FirstUParameter () const override
    double LastUParameter () const override
    double FirstVParameter () const override
    double LastVParameter () const override
    GeomAbs_Shape UContinuity () const override
    GeomAbs_Shape VContinuity () const override
     Return CN.
    int NbUIntervals (const GeomAbs_Shape S) const override
     Returns the number of U intervals for continuity . May be one if UContinuity(me) >= .
    int NbVIntervals (const GeomAbs_Shape S) const override
     Returns the number of V intervals for continuity . May be one if VContinuity(me) >= .
    void UIntervals (NCollection_Array1< double > &T, const GeomAbs_Shape S) const override
     Returns the intervals with the requested continuity in the U direction.
    void VIntervals (NCollection_Array1< double > &T, const GeomAbs_Shape S) const override
     Returns the intervals with the requested continuity in the V direction.
    occ::handle< Adaptor3d_SurfaceUTrim (const double First, const double Last, const double Tol) const override
     Returns a surface trimmed in the U direction equivalent of <me> between parameters <First> and <Last>. <Tol> is used to test for 3d points confusion. If <First> >= <Last>.
    occ::handle< Adaptor3d_SurfaceVTrim (const double First, const double Last, const double Tol) const override
     Returns a surface trimmed in the V direction between parameters <First> and <Last>. <Tol> is used to test for 3d points confusion. If <First> >= <Last>.
    bool IsUClosed () const override
    bool IsVClosed () const override
    bool IsUPeriodic () const override
    double UPeriod () const override
    bool IsVPeriodic () const override
    double VPeriod () const override
    double UResolution (const double R3d) const override
     Returns the parametric U resolution corresponding to the real space resolution <R3d>.
    double VResolution (const double R3d) const override
     Returns the parametric V resolution corresponding to the real space resolution <R3d>.
    GeomAbs_SurfaceType GetType () const override
     Returns the type of the surface: Plane, Cylinder, Cone, Sphere, Torus, BezierSurface, BSplineSurface, SurfaceOfRevolution, SurfaceOfExtrusion, OtherSurface.
    gp_Pln Plane () const override
    gp_Cylinder Cylinder () const override
    gp_Cone Cone () const override
    gp_Sphere Sphere () const override
    gp_Torus Torus () const override
    int UDegree () const override
    int NbUPoles () const override
    bool IsURational () const override
    bool IsVRational () const override
    occ::handle< Geom_BezierSurfaceBezier () const override
     This will NOT make a copy of the Bezier Surface : If you want to modify the Surface please make a copy yourself Also it will NOT trim the surface to myU/VFirst/Last.
    occ::handle< Geom_BSplineSurfaceBSpline () const override
     This will NOT make a copy of the BSpline Surface : If you want to modify the Surface please make a copy yourself Also it will NOT trim the surface to myU/VFirst/Last.
    gp_Ax1 AxeOfRevolution () const override
    gp_Dir Direction () const override
    occ::handle< Adaptor3d_CurveBasisCurve () const override
    Public Member Functions inherited from GeomAdaptor_Surface
     GeomAdaptor_Surface ()
     GeomAdaptor_Surface (const occ::handle< Geom_Surface > &theSurf)
     GeomAdaptor_Surface (const occ::handle< Geom_Surface > &theSurf, const double theUFirst, const double theULast, const double theVFirst, const double theVLast, const double theTolU=0.0, const double theTolV=0.0)
     Standard_ConstructionError is raised if UFirst>ULast or VFirst>VLast.
    void Load (const occ::handle< Geom_Surface > &theSurf)
    void Load (const occ::handle< Geom_Surface > &theSurf, const double theUFirst, const double theULast, const double theVFirst, const double theVLast, const double theTolU=0.0, const double theTolV=0.0)
     Standard_ConstructionError is raised if theUFirst>theULast or theVFirst>theVLast.
    const occ::handle< Geom_Surface > & Surface () const
    void Bounds (double &theU1, double &theU2, double &theV1, double &theV2) const
     Returns the parametric bounds of the surface.
    double ToleranceU () const
     Returns tolerance in U direction.
    double ToleranceV () const
     Returns tolerance in V direction.
    gp_Pnt EvalD0 (const double theU, const double theV) const final
     Point evaluation. Raises an exception on failure.
    Geom_Surface::ResD1 EvalD1 (const double theU, const double theV) const final
     D1 evaluation. Raises an exception on failure.
    Geom_Surface::ResD2 EvalD2 (const double theU, const double theV) const final
     D2 evaluation. Raises an exception on failure.
    Geom_Surface::ResD3 EvalD3 (const double theU, const double theV) const final
     D3 evaluation. Raises an exception on failure.
    gp_Vec EvalDN (const double theU, const double theV, const int theNu, const int theNv) const final
     DN evaluation. Raises an exception on failure.
    int VDegree () const override
    int NbVPoles () const override
    int NbUKnots () const override
    int NbVKnots () const override
    occ::handle< Adaptor3d_SurfaceBasisSurface () const override
    double OffsetValue () const override
    Public Member Functions inherited from Adaptor3d_Surface
    gp_Pnt Value (const double theU, const double theV) const
     Computes the point of parameters U,V on the surface. Tip: use GeomLib::NormEstim() to calculate surface normal at specified (U, V) point.
    void D0 (const double theU, const double theV, gp_Pnt &theP) const
     Computes the point of parameters U,V on the surface.
    void D1 (const double theU, const double theV, gp_Pnt &theP, gp_Vec &theD1U, gp_Vec &theD1V) const
     Computes the point and the first derivatives on the surface. Raised if the continuity of the current intervals is not C1.
    void D2 (const double theU, const double theV, gp_Pnt &theP, gp_Vec &theD1U, gp_Vec &theD1V, gp_Vec &theD2U, gp_Vec &theD2V, gp_Vec &theD2UV) const
     Computes the point, the first and second derivatives on the surface. Raised if the continuity of the current intervals is not C2.
    void D3 (const double theU, const double theV, gp_Pnt &theP, gp_Vec &theD1U, gp_Vec &theD1V, gp_Vec &theD2U, gp_Vec &theD2V, gp_Vec &theD2UV, gp_Vec &theD3U, gp_Vec &theD3V, gp_Vec &theD3UUV, gp_Vec &theD3UVV) const
     Computes the point, the first, second and third derivatives on the surface. Raised if the continuity of the current intervals is not C3.
    gp_Vec DN (const double theU, const double theV, const int theNu, const int theNv) const
     Computes the derivative of order Nu in the direction U and Nv in the direction V at the point P(U, V). Raised if the current U interval is not not CNu and the current V interval is not CNv. Raised if Nu + Nv < 1 or Nu < 0 or Nv < 0.
     ~Adaptor3d_Surface () override
    Public Member Functions inherited from Standard_Transient
     Standard_Transient ()
     Empty constructor.
     Standard_Transient (const Standard_Transient &)
     Copy constructor – does nothing.
    Standard_Transientoperator= (const Standard_Transient &)
     Assignment operator, needed to avoid copying reference counter.
    virtual ~Standard_Transient ()=default
     Destructor must be virtual.
    virtual const opencascade::handle< Standard_Type > & DynamicType () const
     Returns a type descriptor about this object.
    bool IsInstance (const opencascade::handle< Standard_Type > &theType) const
     Returns a true value if this is an instance of Type.
    bool IsInstance (const char *const theTypeName) const
     Returns a true value if this is an instance of TypeName.
    bool 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.
    bool IsKind (const char *const 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_TransientThis () 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.
    int GetRefCount () const noexcept
     Get the reference counter of this object.
    void IncrementRefCounter () noexcept
     Increments the reference counter of this object. Uses relaxed memory ordering since incrementing only requires atomicity, not synchronization with other memory operations.
    int DecrementRefCounter () noexcept
     Decrements the reference counter of this object; returns the decremented value. Uses release ordering for the decrement to ensure all writes to the object are visible before the count reaches zero. An acquire fence is added only when the count reaches zero, ensuring proper synchronization before deletion. This is more efficient than using acq_rel for every decrement.
    virtual void Delete () const
     Memory deallocator for transient classes.

    Additional Inherited Members

    Public Types inherited from GeomAdaptor_Surface
    using SurfaceDataVariant
     Variant type for surface-specific evaluation data.
    typedef void base_type
     Returns a type descriptor about this object.
    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 GeomAdaptor_Surface
    occ::handle< Geom_SurfacemySurface
    double myUFirst
    double myULast
    double myVFirst
    double myVLast
    double myTolU
    double myTolV
    GeomAbs_SurfaceType mySurfaceType
    SurfaceDataVariant mySurfaceData
     Surface-specific evaluation data.

    Detailed Description

    Generalised cylinder. This surface is obtained by sweeping a curve in a given direction. The parametrization range for the parameter U is defined with referenced the curve. The parametrization range for the parameter V is ]-infinite,+infinite[ The position of the curve gives the origin for the parameter V. The continuity of the surface is CN in the V direction.

    Constructor & Destructor Documentation

    ◆ GeomAdaptor_SurfaceOfLinearExtrusion() [1/3]

    GeomAdaptor_SurfaceOfLinearExtrusion::GeomAdaptor_SurfaceOfLinearExtrusion ( )

    ◆ GeomAdaptor_SurfaceOfLinearExtrusion() [2/3]

    GeomAdaptor_SurfaceOfLinearExtrusion::GeomAdaptor_SurfaceOfLinearExtrusion ( const occ::handle< Adaptor3d_Curve > & C)

    The Curve is loaded.

    ◆ GeomAdaptor_SurfaceOfLinearExtrusion() [3/3]

    GeomAdaptor_SurfaceOfLinearExtrusion::GeomAdaptor_SurfaceOfLinearExtrusion ( const occ::handle< Adaptor3d_Curve > & C,
    const gp_Dir & V )

    Thew Curve and the Direction are loaded.

    Member Function Documentation

    ◆ AxeOfRevolution()

    gp_Ax1 GeomAdaptor_SurfaceOfLinearExtrusion::AxeOfRevolution ( ) const
    overridevirtual

    Reimplemented from GeomAdaptor_Surface.

    ◆ BasisCurve()

    occ::handle< Adaptor3d_Curve > GeomAdaptor_SurfaceOfLinearExtrusion::BasisCurve ( ) const
    overridevirtual

    Reimplemented from GeomAdaptor_Surface.

    ◆ Bezier()

    occ::handle< Geom_BezierSurface > GeomAdaptor_SurfaceOfLinearExtrusion::Bezier ( ) const
    overridevirtual

    This will NOT make a copy of the Bezier Surface : If you want to modify the Surface please make a copy yourself Also it will NOT trim the surface to myU/VFirst/Last.

    Reimplemented from GeomAdaptor_Surface.

    ◆ BSpline()

    occ::handle< Geom_BSplineSurface > GeomAdaptor_SurfaceOfLinearExtrusion::BSpline ( ) const
    overridevirtual

    This will NOT make a copy of the BSpline Surface : If you want to modify the Surface please make a copy yourself Also it will NOT trim the surface to myU/VFirst/Last.

    Reimplemented from GeomAdaptor_Surface.

    ◆ Cone()

    gp_Cone GeomAdaptor_SurfaceOfLinearExtrusion::Cone ( ) const
    overridevirtual

    Reimplemented from GeomAdaptor_Surface.

    ◆ Cylinder()

    gp_Cylinder GeomAdaptor_SurfaceOfLinearExtrusion::Cylinder ( ) const
    overridevirtual

    Reimplemented from GeomAdaptor_Surface.

    ◆ Direction()

    gp_Dir GeomAdaptor_SurfaceOfLinearExtrusion::Direction ( ) const
    overridevirtual

    Reimplemented from GeomAdaptor_Surface.

    ◆ FirstUParameter()

    double GeomAdaptor_SurfaceOfLinearExtrusion::FirstUParameter ( ) const
    overridevirtual

    Reimplemented from GeomAdaptor_Surface.

    ◆ FirstVParameter()

    double GeomAdaptor_SurfaceOfLinearExtrusion::FirstVParameter ( ) const
    overridevirtual

    Reimplemented from GeomAdaptor_Surface.

    ◆ GetType()

    GeomAbs_SurfaceType GeomAdaptor_SurfaceOfLinearExtrusion::GetType ( ) const
    overridevirtual

    Returns the type of the surface: Plane, Cylinder, Cone, Sphere, Torus, BezierSurface, BSplineSurface, SurfaceOfRevolution, SurfaceOfExtrusion, OtherSurface.

    Reimplemented from GeomAdaptor_Surface.

    ◆ IsUClosed()

    bool GeomAdaptor_SurfaceOfLinearExtrusion::IsUClosed ( ) const
    overridevirtual

    Reimplemented from GeomAdaptor_Surface.

    ◆ IsUPeriodic()

    bool GeomAdaptor_SurfaceOfLinearExtrusion::IsUPeriodic ( ) const
    overridevirtual

    Reimplemented from GeomAdaptor_Surface.

    ◆ IsURational()

    bool GeomAdaptor_SurfaceOfLinearExtrusion::IsURational ( ) const
    overridevirtual

    Reimplemented from GeomAdaptor_Surface.

    ◆ IsVClosed()

    bool GeomAdaptor_SurfaceOfLinearExtrusion::IsVClosed ( ) const
    overridevirtual

    Reimplemented from GeomAdaptor_Surface.

    ◆ IsVPeriodic()

    bool GeomAdaptor_SurfaceOfLinearExtrusion::IsVPeriodic ( ) const
    overridevirtual

    Reimplemented from GeomAdaptor_Surface.

    ◆ IsVRational()

    bool GeomAdaptor_SurfaceOfLinearExtrusion::IsVRational ( ) const
    overridevirtual

    Reimplemented from GeomAdaptor_Surface.

    ◆ LastUParameter()

    double GeomAdaptor_SurfaceOfLinearExtrusion::LastUParameter ( ) const
    overridevirtual

    Reimplemented from GeomAdaptor_Surface.

    ◆ LastVParameter()

    double GeomAdaptor_SurfaceOfLinearExtrusion::LastVParameter ( ) const
    overridevirtual

    Reimplemented from GeomAdaptor_Surface.

    ◆ Load() [1/2]

    void GeomAdaptor_SurfaceOfLinearExtrusion::Load ( const gp_Dir & V)

    Changes the Direction.

    ◆ Load() [2/2]

    void GeomAdaptor_SurfaceOfLinearExtrusion::Load ( const occ::handle< Adaptor3d_Curve > & C)

    Changes the Curve.

    ◆ NbUIntervals()

    int GeomAdaptor_SurfaceOfLinearExtrusion::NbUIntervals ( const GeomAbs_Shape S) const
    overridevirtual

    Returns the number of U intervals for continuity . May be one if UContinuity(me) >= .

    Reimplemented from GeomAdaptor_Surface.

    ◆ NbUPoles()

    int GeomAdaptor_SurfaceOfLinearExtrusion::NbUPoles ( ) const
    overridevirtual

    Reimplemented from GeomAdaptor_Surface.

    ◆ NbVIntervals()

    int GeomAdaptor_SurfaceOfLinearExtrusion::NbVIntervals ( const GeomAbs_Shape S) const
    overridevirtual

    Returns the number of V intervals for continuity . May be one if VContinuity(me) >= .

    Reimplemented from GeomAdaptor_Surface.

    ◆ Plane()

    gp_Pln GeomAdaptor_SurfaceOfLinearExtrusion::Plane ( ) const
    overridevirtual

    Reimplemented from GeomAdaptor_Surface.

    ◆ ShallowCopy()

    occ::handle< Adaptor3d_Surface > GeomAdaptor_SurfaceOfLinearExtrusion::ShallowCopy ( ) const
    overridevirtual

    Shallow copy of adaptor.

    Reimplemented from GeomAdaptor_Surface.

    ◆ Sphere()

    gp_Sphere GeomAdaptor_SurfaceOfLinearExtrusion::Sphere ( ) const
    overridevirtual

    Reimplemented from GeomAdaptor_Surface.

    ◆ Torus()

    gp_Torus GeomAdaptor_SurfaceOfLinearExtrusion::Torus ( ) const
    overridevirtual

    Reimplemented from GeomAdaptor_Surface.

    ◆ UContinuity()

    GeomAbs_Shape GeomAdaptor_SurfaceOfLinearExtrusion::UContinuity ( ) const
    overridevirtual

    Reimplemented from GeomAdaptor_Surface.

    ◆ UDegree()

    int GeomAdaptor_SurfaceOfLinearExtrusion::UDegree ( ) const
    overridevirtual

    Reimplemented from GeomAdaptor_Surface.

    ◆ UIntervals()

    void GeomAdaptor_SurfaceOfLinearExtrusion::UIntervals ( NCollection_Array1< double > & T,
    const GeomAbs_Shape S ) const
    overridevirtual

    Returns the intervals with the requested continuity in the U direction.

    Reimplemented from GeomAdaptor_Surface.

    ◆ UPeriod()

    double GeomAdaptor_SurfaceOfLinearExtrusion::UPeriod ( ) const
    overridevirtual

    Reimplemented from GeomAdaptor_Surface.

    ◆ UResolution()

    double GeomAdaptor_SurfaceOfLinearExtrusion::UResolution ( const double R3d) const
    overridevirtual

    Returns the parametric U resolution corresponding to the real space resolution <R3d>.

    Reimplemented from GeomAdaptor_Surface.

    ◆ UTrim()

    occ::handle< Adaptor3d_Surface > GeomAdaptor_SurfaceOfLinearExtrusion::UTrim ( const double First,
    const double Last,
    const double Tol ) const
    overridevirtual

    Returns a surface trimmed in the U direction equivalent of <me> between parameters <First> and <Last>. <Tol> is used to test for 3d points confusion. If <First> >= <Last>.

    Reimplemented from GeomAdaptor_Surface.

    ◆ VContinuity()

    GeomAbs_Shape GeomAdaptor_SurfaceOfLinearExtrusion::VContinuity ( ) const
    overridevirtual

    Return CN.

    Reimplemented from GeomAdaptor_Surface.

    ◆ VIntervals()

    void GeomAdaptor_SurfaceOfLinearExtrusion::VIntervals ( NCollection_Array1< double > & T,
    const GeomAbs_Shape S ) const
    overridevirtual

    Returns the intervals with the requested continuity in the V direction.

    Reimplemented from GeomAdaptor_Surface.

    ◆ VPeriod()

    double GeomAdaptor_SurfaceOfLinearExtrusion::VPeriod ( ) const
    overridevirtual

    Reimplemented from GeomAdaptor_Surface.

    ◆ VResolution()

    double GeomAdaptor_SurfaceOfLinearExtrusion::VResolution ( const double R3d) const
    overridevirtual

    Returns the parametric V resolution corresponding to the real space resolution <R3d>.

    Reimplemented from GeomAdaptor_Surface.

    ◆ VTrim()

    occ::handle< Adaptor3d_Surface > GeomAdaptor_SurfaceOfLinearExtrusion::VTrim ( const double First,
    const double Last,
    const double Tol ) const
    overridevirtual

    Returns a surface trimmed in the V direction between parameters <First> and <Last>. <Tol> is used to test for 3d points confusion. If <First> >= <Last>.

    Reimplemented from GeomAdaptor_Surface.


    The documentation for this class was generated from the following file: