Visual Computing Library  devel
Loading...
Searching...
No Matches
vcl::AbstractViewerDrawer< ViewProjEventDrawer > Class Template Reference

The AbstractViewerDrawer class is a base class for all viewer drawers implementations. More...

#include <vclib/render/drawers/abstract_viewer_drawer.h>

Inheritance diagram for vcl::AbstractViewerDrawer< ViewProjEventDrawer >:

Public Member Functions

 AbstractViewerDrawer (uint width=1024, uint height=768)
 
const DrawableObjectVectordrawableObjectVector () const
 
void fitScene ()
 
void onInit (uint) override
 
void onKeyPress (Key::Enum key, const KeyModifiers &modifiers) override
 
uint pushDrawableObject (const DrawableObject &obj)
 
uint pushDrawableObject (DrawableObject &&obj)
 
void setDrawableObjectVector (const std::shared_ptr< DrawableObjectVector > &v)
 

Protected Member Functions

uint & id ()
 
void readDepthRequest (double x, double y, bool homogeneousNDC=true)
 
void readIdRequest (double x, double y, std::function< void(uint)> idCallback)
 

Protected Attributes

std::shared_ptr< DrawableObjectVectormDrawList
 

Private Types

using Base = ViewProjEventDrawer
 
using DRA = ViewProjEventDrawer::DRA
 

Private Member Functions

autoderived ()
 
const autoderived () const
 

Private Attributes

uint mId = 0
 
bool mReadRequested = false
 

Detailed Description

template<typename ViewProjEventDrawer>
class vcl::AbstractViewerDrawer< ViewProjEventDrawer >

The AbstractViewerDrawer class is a base class for all viewer drawers implementations.

It provides all the common functionalities of a viewer, but not the core rendering functionalities. It is meant to be subclassed by a concrete viewer drawer implementation.

Member Data Documentation

◆ mDrawList

template<typename ViewProjEventDrawer >
std::shared_ptr<DrawableObjectVector> vcl::AbstractViewerDrawer< ViewProjEventDrawer >::mDrawList
protected
Initial value:
=
std::make_shared<DrawableObjectVector>()

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