The Vish Visualization Shell 0.3
Vish
Public Member Functions | Related Symbols | List of all members
Wizt::VSceneObjects Class Reference

A list of renderable objects, sorted in layers. More...

#include <ocean/Anemonia/VSceneLayers.hpp>

Public Member Functions

RefPtr< BoundingBallgetGlobalBoundingVolume (const RefPtr< ValuePool > &Context, bool Touchable=false) const
 Compute the geometrical bounding box of all objects in the current set of renderable objects, relative to the given Context .
 
RefPtr< BoundingBallgetRangedBoundingVolume (const RefPtr< ValuePool > &Context, bool Touchable, int MinLevel=CELESTIAL_OBJECT+1, int MaxLevel=OVERLAY_OBJECT-1) const
 Compute the geometrical "touchable" bounding box of a subset of objects in the current set of renderable objects, relative to the given Context .
 
RefPtr< BoundingBallgetTouchableBoundingVolume (const RefPtr< ValuePool > &Context) const
 Compute the geometrical bounding box of a "touchable" of objects in the current set of renderable objects.
 
void insert (int RenderCategory, const WeakPtr< VObject > &what)
 Insert a specific object to the list of renderable to the current set of renderables.
 
size_t NumberOfObjects () const
 Return the number of objects that are contained in this scene layer.
 
RefPtr< PickListpick (VRenderContext &Context, int x, int y, int DX=1, int DY=1) const
 Pick the object at the selected pixel coordinates (x,y), and return its subgroup identifier, too.
 
 VSceneObjects ()
 Constructor (does nothing of interest)
 
 ~VSceneObjects ()
 Destructor (nothing interesting here)
 

Related Symbols

(Note that these are not member symbols.)

std::tuple< int, int > render (VRenderContext &Context, double &GPURenderTime, int MinLevel=RENDER_FIRST, int MaxLevel=RENDER_LAST)
 Render the entire scene.
 
using VSceneLayers = VSceneObjects
 Communication type for objects to be rendered.
 

Detailed Description

A list of renderable objects, sorted in layers.

Such a list is the input to a Viewer object, it is provided by a VScene object.

Member Function Documentation

◆ getTouchableBoundingVolume()

RefPtr< BoundingBall > Wizt::VSceneObjects::getTouchableBoundingVolume ( const RefPtr< ValuePool > &  Context) const
inline

Compute the geometrical bounding box of a "touchable" of objects in the current set of renderable objects.

"Touchable" objects are objects that contribute to the spatial camera navigation. They reside in the render category higher than CELESTIAL_OBJECT but lower than OVERLAY_OBJECT.

References Wizt::CELESTIAL_OBJECT, and Wizt::OVERLAY_OBJECT.

Referenced by render().

◆ insert()

void Wizt::VSceneObjects::insert ( int  RenderCategory,
const WeakPtr< VObject > &  what 
)

Insert a specific object to the list of renderable to the current set of renderables.

This function is called by VScene, for instance.

References Wizt::ObjectSelection::insert().

Referenced by getGlobalBoundingVolume().

Friends And Related Symbol Documentation

◆ render()

VRenderContext::RenderResult Wizt::VSceneObjects::render ( VRenderContext Context,
double &  GPURenderTime,
int  MinLevel = RENDER_FIRST,
int  MaxLevel = RENDER_LAST 
)
related

Render the entire scene.

Calls VRenderContext::render(), called by Viewer::render().

Parameters
ContextThe render context
MinLevelThe start layer of object categories to be rendered
MaxLevelThe end layer of object categories to be rendered
Returns
The number of objects that have been rendered.

, Viewer

References getGlobalBoundingVolume(), and getTouchableBoundingVolume().