Nebula
Loading...
Searching...
No Matches
Picking::PickingServer Class Reference

#include <pickingserver.h>

Detailed Description

Server responsible to handle id-based rendering.

(C) 2013-2018 Individual contributors, see AUTHORS file

Inherits Core::RefCounted.

Public Member Functions

 PickingServer ()
 constructor
 
virtual ~PickingServer ()
 destructor
 
void Open ()
 open the PickingServer
 
void Close ()
 close the PickingServer
 
const bool IsOpen () const
 returns true if server is open
 
void Render ()
 renders a frame
 
IndexT FetchIndex (const Math::float2 &position)
 returns picking id from pixel
 
void FetchSquare (const Math::rectangle< float > &rect, Util::Array< IndexT > &items, Util::Array< IndexT > &edgeItems)
 returns array of picking ids from a rectangle
 
float FetchDepth (const Math::float2 &position)
 returns depth of position
 
Math::float4 FetchNormal (const Math::float2 &position)
 returns normal of position
 
- Public Member Functions inherited from Core::RefCounted
 RefCounted ()
 constructor
 
int GetRefCount () const
 get the current refcount
 
void AddRef ()
 increment refcount by one
 
void Release ()
 decrement refcount and destroy object if refcount is zero
 
bool IsInstanceOf (const Rtti &rtti) const
 return true if this object is instance of given class
 
bool IsInstanceOf (const Util::String &className) const
 return true if this object is instance of given class by string
 
bool IsInstanceOf (const Util::FourCC &classFourCC) const
 return true if this object is instance of given class by fourcc
 
bool IsA (const Rtti &rtti) const
 return true if this object is instance of given class, or a derived class
 
bool IsA (const Util::String &rttiName) const
 return true if this object is instance of given class, or a derived class, by string
 
bool IsA (const Util::FourCC &rttiFourCC) const
 return true if this object is instance of given class, or a derived class, by fourcc
 
const Util::StringGetClassName () const
 get the class name
 
Util::FourCC GetClassFourCC () const
 get the class FourCC code
 

Private Member Functions

 __DeclareClass (PickingServer)
 
 __DeclareSingleton (PickingServer)
 

Private Attributes

bool isOpen
 
IndexT frameIndex
 
Ptr< Frame::FrameScriptframeShader
 
Ptr< CoreGraphics::Texture > pickingBuffer
 
Ptr< CoreGraphics::Texture > depthBuffer
 
Ptr< CoreGraphics::Texture > normalBuffer
 
Ptr< Graphics::CameraEntity > pickingCamera
 
Ptr< Graphics::ViewpickingView
 

Additional Inherited Members

- Static Public Member Functions inherited from Core::RefCounted
static void DumpRefCountingLeaks ()
 dump refcounting leaks, call at end of application (NEBULA_DEBUG builds only!)
 
- Protected Member Functions inherited from Core::RefCounted
virtual ~RefCounted ()
 destructor (called when refcount reaches zero)
 

Constructor & Destructor Documentation

◆ PickingServer()

Picking::PickingServer::PickingServer ( )

constructor

◆ ~PickingServer()

Picking::PickingServer::~PickingServer ( )
virtual

destructor

Member Function Documentation

◆ __DeclareClass()

Picking::PickingServer::__DeclareClass ( PickingServer )
private

◆ __DeclareSingleton()

Picking::PickingServer::__DeclareSingleton ( PickingServer )
private

◆ Close()

void Picking::PickingServer::Close ( )

close the PickingServer

◆ FetchDepth()

float Picking::PickingServer::FetchDepth ( const Math::float2 & position)

returns depth of position

◆ FetchIndex()

IndexT Picking::PickingServer::FetchIndex ( const Math::float2 & position)

returns picking id from pixel

◆ FetchNormal()

Math::float4 Picking::PickingServer::FetchNormal ( const Math::float2 & position)

returns normal of position

◆ FetchSquare()

void Picking::PickingServer::FetchSquare ( const Math::rectangle< float > & rect,
Util::Array< IndexT > & items,
Util::Array< IndexT > & edgeItems )

returns array of picking ids from a rectangle

◆ IsOpen()

const bool Picking::PickingServer::IsOpen ( ) const
inline

returns true if server is open

◆ Open()

void Picking::PickingServer::Open ( )

open the PickingServer

◆ Render()

void Picking::PickingServer::Render ( )

renders a frame

Member Data Documentation

◆ depthBuffer

Ptr<CoreGraphics::Texture> Picking::PickingServer::depthBuffer
private

◆ frameIndex

IndexT Picking::PickingServer::frameIndex
private

◆ frameShader

Ptr<Frame::FrameScript> Picking::PickingServer::frameShader
private

◆ isOpen

bool Picking::PickingServer::isOpen
private

◆ normalBuffer

Ptr<CoreGraphics::Texture> Picking::PickingServer::normalBuffer
private

◆ pickingBuffer

Ptr<CoreGraphics::Texture> Picking::PickingServer::pickingBuffer
private

◆ pickingCamera

Ptr<Graphics::CameraEntity> Picking::PickingServer::pickingCamera
private

◆ pickingView

Ptr<Graphics::View> Picking::PickingServer::pickingView
private

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