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
    V3d_CircularGrid Class Reference

    #include <V3d_CircularGrid.hxx>

    Inheritance diagram for V3d_CircularGrid:

    Public Member Functions

     V3d_CircularGrid (const V3d_ViewerPointer &aViewer, const Quantity_Color &aColor, const Quantity_Color &aTenthColor)
     Constructor. Builds a CPU-rendered circular grid bound to aViewer. Default radius is 0.5 * Viewer->DefaultViewSize(); ZOffset defaults to step / 50.
     ~V3d_CircularGrid () override
    void SetColors (const Quantity_Color &aColor, const Quantity_Color &aTenthColor) override
     Updates the grid colors and triggers a re-display when they actually change.
    void Display () override
     Display the CPU grid in the owning viewer's structure manager.
    void Erase () const override
     Erase the CPU grid (the underlying Graphic3d_Structure is hidden, not destroyed).
    bool IsDisplayed () const override
     Returns true if the grid structure is currently displayed.
    void GraphicValues (double &Radius, double &OffSet) const
     Returns the grid extent and Z offset (alias for Radius/ZOffset).
    void SetGraphicValues (const double Radius, const double OffSet)
     Sets the grid extent and Z offset (alias for SetRadius/SetZOffset).
    void DumpJson (Standard_OStream &theOStream, int theDepth=-1) const override
     Dumps the content of me into the stream.
    Public Member Functions inherited from Aspect_CircularGrid
     Aspect_CircularGrid (const double aRadiusStep, const int aDivisionNumber, const double XOrigin=0, const double anYOrigin=0, const double aRotationAngle=0)
     creates a new grid. By default this grid is not active.
    void SetRadiusStep (const double aStep)
     defines the x step of the grid.
    void SetDivisionNumber (const int aNumber)
     defines the step of the grid.
    void SetGridValues (const double XOrigin, const double YOrigin, const double RadiusStep, const int DivisionNumber, const double RotationAngle)
    void Compute (const double X, const double Y, double &gridX, double &gridY) const override
     returns the point of the grid the closest to the point X,Y
    double RadiusStep () const
     returns the x step of the grid.
    int DivisionNumber () const
     returns the x step of the grid.
    void SetRadius (const double theRadius)
     Set the circular grid radius (plane-local units). 0.0 (default) means unbounded - the shader draws the grid to the horizon.
    double Radius () const
     Return the bounded radius. 0.0 means unbounded.
    void SetZOffset (const double theOffset)
     Set signed offset along the plane normal for display only; snap math stays on the plane. Use a small negative value to avoid z-fighting with coplanar geometry.
    double ZOffset () const
     Return the display-time Z-offset along the plane normal.
    void SetArcRange (const double theStart, const double theEnd)
     Restrict the grid to an angular wedge, walking counter-clockwise from theStart to theEnd (radians, measured from the rotated plane X axis). Setting both values equal (e.g. both 0.0) returns to full-circle rendering - the sentinel used for unbounded.
    double AngleStart () const
     Return the arc start angle (radians). Meaningful only when IsArc() is true.
    double AngleEnd () const
     Return the arc end angle (radians). Meaningful only when IsArc() is true.
    bool IsArc () const
     Return TRUE when the grid is restricted to an angular wedge.
    void Init () override
    Public Member Functions inherited from Aspect_Grid
    void SetXOrigin (const double anOrigin)
     defines the x Origin of the grid.
    void SetYOrigin (const double anOrigin)
     defines the y Origin of the grid.
    void SetRotationAngle (const double anAngle)
     defines the orientation of the grid.
    void Rotate (const double anAngle)
     Rotate the grid from a relative angle.
    void Translate (const double aDx, const double aDy)
     Translate the grid from a relative distance.
    void Hit (const double X, const double Y, double &gridX, double &gridY) const
     returns the point of the grid the closest to the point X,Y if the grid is active. If the grid is not active returns X,Y.
    void Activate ()
     activates the grid. The Hit method will return gridx and gridx computed according to the steps of the grid.
    void Deactivate ()
     deactivates the grid. The hit method will return gridx and gridx as the enter value X & Y.
    double XOrigin () const
     returns the x Origin of the grid.
    double YOrigin () const
     returns the x Origin of the grid.
    double RotationAngle () const
     returns the x Angle of the grid.
    bool IsActive () const
     Returns TRUE when the grid is active.
    void Colors (Quantity_Color &aColor, Quantity_Color &aTenthColor) const
     Returns the colors of the grid.
    void SetDrawMode (const Aspect_GridDrawMode aDrawMode)
     Change the grid aspect.
    Aspect_GridDrawMode DrawMode () const
     Returns the grid aspect.
    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.

    Protected Member Functions

    void UpdateDisplay () override
     Recomputes the structure transformation and the ring / spoke primitive arrays whenever a parameter or the privileged plane changes. Emits a one-shot Message::SendWarning() when an arc range is set on the base class - the CPU renderer cannot honor it and falls back to a full circle.
    Protected Member Functions inherited from Aspect_Grid
     Aspect_Grid (const double theXOrigin=0.0, const double theYOrigin=0.0, const double theRotationAngle=0, const Quantity_Color &theColor=Quantity_NOC_GRAY50, const Quantity_Color &theTenthColor=Quantity_NOC_GRAY70)
     Creates a new grid. By default this grid is not active.

    Additional Inherited Members

    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 Aspect_Grid
    double myRotationAngle
    double myXOrigin
    double myYOrigin
    Quantity_Color myColor
    Quantity_Color myTenthColor
    bool myIsActive
    Aspect_GridDrawMode myDrawMode

    Detailed Description

    Deprecated
    Kept for backward compatibility. CPU-generated circular grid bound to a V3d_Viewer. New code should drive grids through V3d_View::GridDisplay(Aspect_GridParams, gp_Ax3), which renders an AA, shader-based grid and supports unbounded extents, background mode, arc ranges and per-axis scales. This class consumes the same Aspect_CircularGrid parameters where the CPU path can render them; arc ranges (AngleStart/AngleEnd) are not supported by the CPU path and are reported via Message::SendWarning() and ignored.

    Constructor & Destructor Documentation

    ◆ V3d_CircularGrid()

    V3d_CircularGrid::V3d_CircularGrid ( const V3d_ViewerPointer & aViewer,
    const Quantity_Color & aColor,
    const Quantity_Color & aTenthColor )

    Constructor. Builds a CPU-rendered circular grid bound to aViewer. Default radius is 0.5 * Viewer->DefaultViewSize(); ZOffset defaults to step / 50.

    Deprecated
    Prefer V3d_View::GridDisplay with Aspect_GridParams for shader-based grids.
    Parameters
    [in]aViewerviewer that owns the grid (and provides DefaultViewSize)
    [in]aColorcolor of the regular rings / spokes
    [in]aTenthColorcolor of every 10-th ring (and the diameter spokes)

    ◆ ~V3d_CircularGrid()

    V3d_CircularGrid::~V3d_CircularGrid ( )
    override

    Member Function Documentation

    ◆ Display()

    void V3d_CircularGrid::Display ( )
    overridevirtual

    Display the CPU grid in the owning viewer's structure manager.

    Implements Aspect_Grid.

    ◆ DumpJson()

    void V3d_CircularGrid::DumpJson ( Standard_OStream & theOStream,
    int theDepth = -1 ) const
    overridevirtual

    Dumps the content of me into the stream.

    Parameters
    [in,out]theOStreamdestination stream
    [in]theDepthrecursion depth (-1 for full)

    Reimplemented from Aspect_CircularGrid.

    ◆ Erase()

    void V3d_CircularGrid::Erase ( ) const
    overridevirtual

    Erase the CPU grid (the underlying Graphic3d_Structure is hidden, not destroyed).

    Implements Aspect_Grid.

    ◆ GraphicValues()

    void V3d_CircularGrid::GraphicValues ( double & Radius,
    double & OffSet ) const

    Returns the grid extent and Z offset (alias for Radius/ZOffset).

    Parameters
    [out]Radiusoutermost ring radius
    [out]OffSetplane-normal displacement of the rendered grid

    ◆ IsDisplayed()

    bool V3d_CircularGrid::IsDisplayed ( ) const
    overridevirtual

    Returns true if the grid structure is currently displayed.

    Implements Aspect_Grid.

    ◆ SetColors()

    void V3d_CircularGrid::SetColors ( const Quantity_Color & aColor,
    const Quantity_Color & aTenthColor )
    overridevirtual

    Updates the grid colors and triggers a re-display when they actually change.

    Parameters
    [in]aColorcolor of the regular rings / spokes
    [in]aTenthColorcolor of every 10-th ring

    Reimplemented from Aspect_Grid.

    ◆ SetGraphicValues()

    void V3d_CircularGrid::SetGraphicValues ( const double Radius,
    const double OffSet )

    Sets the grid extent and Z offset (alias for SetRadius/SetZOffset).

    Parameters
    [in]Radiusoutermost ring radius
    [in]OffSetplane-normal displacement

    ◆ UpdateDisplay()

    void V3d_CircularGrid::UpdateDisplay ( )
    overrideprotectedvirtual

    Recomputes the structure transformation and the ring / spoke primitive arrays whenever a parameter or the privileged plane changes. Emits a one-shot Message::SendWarning() when an arc range is set on the base class - the CPU renderer cannot honor it and falls back to a full circle.

    Implements Aspect_Grid.


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