Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions
V3d_CircularGrid Class Reference

#include <V3d_CircularGrid.hxx>

Inheritance diagram for V3d_CircularGrid:
Inheritance graph
[legend]

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

- 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 charget_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: