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

#include <V3d_RectangularGrid.hxx>

Inheritance diagram for V3d_RectangularGrid:
Inheritance graph
[legend]

Public Member Functions

 V3d_RectangularGrid (const V3d_ViewerPointer &aViewer, const Quantity_Color &aColor, const Quantity_Color &aTenthColor)
 Constructor. Builds a CPU-rendered rectangular grid bound to aViewer. Default size is 0.5 * Viewer->DefaultViewSize() on each axis (bounded); ZOffset defaults to step / 50.
 
 ~V3d_RectangularGrid () 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 &XSize, double &YSize, double &OffSet) const
 Returns the grid bounds and Z offset (alias for SizeX/SizeY/ZOffset).
 
void SetGraphicValues (const double XSize, const double YSize, const double OffSet)
 Sets the grid bounds and Z offset (alias for SetSizeX/SetSizeY/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_RectangularGrid
 Aspect_RectangularGrid (const double aXStep, const double aYStep, const double anXOrigin=0, const double anYOrigin=0, const double aFirstAngle=0, const double aSecondAngle=0, const double aRotationAngle=0)
 creates a new grid. By default this grid is not active. The first angle is given relatively to the horizontal. The second angle is given relatively to the vertical.
 
void SetXStep (const double aStep)
 defines the x step of the grid.
 
void SetYStep (const double aStep)
 defines the y step of the grid.
 
void SetAngle (const double anAngle1, const double anAngle2)
 defines the angle of the second network the fist angle is given relatively to the horizontal. the second angle is given relatively to the vertical.
 
void SetGridValues (const double XOrigin, const double YOrigin, const double XStep, const double YStep, 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 XStep () const
 returns the x step of the grid.
 
double YStep () const
 returns the x step of the grid.
 
double FirstAngle () const
 returns the x Angle of the grid, relatively to the horizontal.
 
double SecondAngle () const
 returns the y Angle of the grid, relatively to the vertical.
 
void SetSizeX (const double theSize)
 Set full extent of the bounded grid along the plane X direction (plane-local units). 0.0 (default) means unbounded - the shader draws the grid to the horizon.
 
double SizeX () const
 Return the bounded-region extent along plane X. 0.0 means unbounded.
 
void SetSizeY (const double theSize)
 Set full extent of the bounded grid along the plane Y direction (plane-local units). 0.0 (default) means unbounded.
 
double SizeY () const
 Return the bounded-region extent along plane Y. 0.0 means unbounded.
 
void SetZOffset (const double theOffset)
 Set signed offset (plane-local units) applied along the plane normal for display only - snap math stays on the plane. Use a small negative value to push the grid slightly below coplanar geometry and avoid z-fighting.
 
double ZOffset () const
 Return the display-time Z-offset along the plane normal.
 
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 line / point primitive arrays whenever a parameter or the privileged plane changes.
 
- 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 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_RectangularGrid parameters where the CPU path can render them; unsupported parameters are reported via Message::SendWarning() and ignored.

Constructor & Destructor Documentation

◆ V3d_RectangularGrid()

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

Constructor. Builds a CPU-rendered rectangular grid bound to aViewer. Default size is 0.5 * Viewer->DefaultViewSize() on each axis (bounded); 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 grid lines / points
[in]aTenthColorcolor of every 10-th line (axis emphasis)

◆ ~V3d_RectangularGrid()

V3d_RectangularGrid::~V3d_RectangularGrid ( )
override

Member Function Documentation

◆ Display()

void V3d_RectangularGrid::Display ( )
overridevirtual

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

Implements Aspect_Grid.

◆ DumpJson()

void V3d_RectangularGrid::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_RectangularGrid.

◆ Erase()

void V3d_RectangularGrid::Erase ( ) const
overridevirtual

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

Implements Aspect_Grid.

◆ GraphicValues()

void V3d_RectangularGrid::GraphicValues ( double & XSize,
double & YSize,
double & OffSet ) const

Returns the grid bounds and Z offset (alias for SizeX/SizeY/ZOffset).

Parameters
[out]XSizewidth along grid X
[out]YSizeheight along grid Y
[out]OffSetplane-normal displacement of the rendered grid

◆ IsDisplayed()

bool V3d_RectangularGrid::IsDisplayed ( ) const
overridevirtual

Returns true if the grid structure is currently displayed.

Implements Aspect_Grid.

◆ SetColors()

void V3d_RectangularGrid::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 lines / points
[in]aTenthColorcolor of every 10-th line

Reimplemented from Aspect_Grid.

◆ SetGraphicValues()

void V3d_RectangularGrid::SetGraphicValues ( const double XSize,
const double YSize,
const double OffSet )

Sets the grid bounds and Z offset (alias for SetSizeX/SetSizeY/SetZOffset).

Parameters
[in]XSizewidth along grid X
[in]YSizeheight along grid Y
[in]OffSetplane-normal displacement

◆ UpdateDisplay()

void V3d_RectangularGrid::UpdateDisplay ( )
overrideprotectedvirtual

Recomputes the structure transformation and the line / point primitive arrays whenever a parameter or the privileged plane changes.

Implements Aspect_Grid.


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