Physics Simulation & Visualization Tool 0.1
A C++ physics simulation engine with real-time 3D visualization
Loading...
Searching...
No Matches
PathTraces Class Reference

#include <PathTraces.h>

Inheritance diagram for PathTraces:
[legend]
Collaboration diagram for PathTraces:
[legend]

Public Member Functions

 PathTraces (SceneManager *sceneManager, QOpenGLFunctions_4_5_Core *glFuncs)
 
 ~PathTraces () override
 
ShadergetShader () const override
 Gets the shader used to render this object.
 
MeshgetMesh () const override
 Gets the mesh geometry for this object.
 
uint32_t getObjectID () const override
 Gets the unique identifier for this object.
 
void draw () const override
 Performs custom rendering for this object.
 
void setEnabled (bool value)
 
void setTimeWindow (float value)
 
- Public Member Functions inherited from IDrawable
virtual ~IDrawable ()=default
 Virtual destructor for proper cleanup of derived classes.
 

Detailed Description

Definition at line 11 of file PathTraces.h.

Constructor & Destructor Documentation

◆ PathTraces()

PathTraces::PathTraces ( SceneManager sceneManager,
QOpenGLFunctions_4_5_Core *  glFuncs 
)

Definition at line 16 of file PathTraces.cpp.

Here is the call graph for this function:

◆ ~PathTraces()

PathTraces::~PathTraces ( )
override

Definition at line 32 of file PathTraces.cpp.

Member Function Documentation

◆ draw()

void PathTraces::draw ( ) const
overridevirtual

Performs custom rendering for this object.

Implementations are responsible for:

  • Binding appropriate shaders and setting uniforms
  • Managing OpenGL state (depth testing, blending, etc.)
  • Issuing draw calls (direct or instanced)
  • Restoring OpenGL state if modified

This method is called after all instanced objects are rendered.

Note
The camera matrices uniform buffer is already bound when called.
See also
Scene::draw()

Implements ICustomDrawable.

Definition at line 37 of file PathTraces.cpp.

Here is the call graph for this function:

◆ getMesh()

Mesh * PathTraces::getMesh ( ) const
inlineoverridevirtual

Gets the mesh geometry for this object.

The mesh is used as part of the batch key for instanced rendering, grouping objects that share the same shader and mesh.

Returns
Pointer to the Mesh object. Must not be null.
See also
ResourceManager::getMesh()
Scene::draw()

Implements IDrawable.

Definition at line 17 of file PathTraces.h.

◆ getObjectID()

uint32_t PathTraces::getObjectID ( ) const
inlineoverridevirtual

Gets the unique identifier for this object.

This ID is used for:

  • Object picking and selection
  • Hover state highlighting via shader uniforms
  • Per-instance identification in the rendering pipeline
Returns
The object's unique identifier.
See also
Scene::allocateObjectID()
Scene::freeObjectID()

Implements IDrawable.

Definition at line 18 of file PathTraces.h.

◆ getShader()

Shader * PathTraces::getShader ( ) const
inlineoverridevirtual

Gets the shader used to render this object.

The shader is used as part of the batch key for instanced rendering, grouping objects that share the same shader and mesh.

Returns
Pointer to the Shader object. Must not be null.
See also
ResourceManager::getShader()
Scene::draw()

Implements IDrawable.

Definition at line 16 of file PathTraces.h.

◆ setEnabled()

void PathTraces::setEnabled ( bool  value)
inline

Definition at line 22 of file PathTraces.h.

◆ setTimeWindow()

void PathTraces::setTimeWindow ( float  value)
inline

Definition at line 23 of file PathTraces.h.


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