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: