Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends
glw::Context Class Reference

#include <context.h>

Inheritance diagram for glw::Context:
Inheritance graph
[legend]

List of all members.

Classes

struct  BindingHandleFromBinding
struct  BindingHandleFromObject
struct  ObjectBoundFromObject
struct  ObjectFromBinding
struct  ObjectSafeFromObject
struct  PtrFromObject
struct  RefCountedBindingHandleFromBinding
struct  RefCountedBindingHandleFromObject
struct  RefCountedPtrFromObject
struct  RefCountedSafeHandleFromObject
struct  SafeHandleFromBinding
struct  SafeHandleFromObject

Public Types

typedef detail::NonCopyable BaseType
typedef Context ThisType

Public Member Functions

bool acquire (void)
BoundDrawFramebufferHandle bindDrawFramebuffer (FramebufferHandle &handle)
BoundFeedbackBufferHandle bindFeedbackBuffer (BufferHandle &handle, GLuint index, GLintptr offset, GLsizeiptr size)
BoundFragmentShaderHandle bindFragmentShader (FragmentShaderHandle &handle)
BoundGeometryShaderHandle bindGeometryShader (GeometryShaderHandle &handle)
BoundIndexBufferHandle bindIndexBuffer (BufferHandle &handle)
BoundPixelPackBufferHandle bindPixelPackBuffer (BufferHandle &handle)
BoundPixelUnpackBufferHandle bindPixelUnpackBuffer (BufferHandle &handle)
BoundProgramHandle bindProgram (ProgramHandle &handle)
BoundReadDrawFramebufferHandle bindReadDrawFramebuffer (FramebufferHandle &handle)
BoundReadFramebufferHandle bindReadFramebuffer (FramebufferHandle &handle)
BoundRenderbufferHandle bindRenderbuffer (RenderbufferHandle &handle)
BoundTexture2DHandle bindTexture2D (Texture2DHandle &handle, GLint unit)
BoundTextureCubeHandle bindTextureCube (TextureCubeHandle &handle, GLint unit)
BoundUniformBufferHandle bindUniformBuffer (BufferHandle &handle, GLuint index, GLintptr offset, GLsizeiptr size)
BoundVertexBufferHandle bindVertexBuffer (BufferHandle &handle)
BoundVertexShaderHandle bindVertexShader (VertexShaderHandle &handle)
 Context (void)
BufferHandle createBuffer (const BufferArguments &args)
FragmentShaderHandle createFragmentShader (const FragmentShaderArguments &args)
FramebufferHandle createFramebuffer (const FramebufferArguments &args)
GeometryShaderHandle createGeometryShader (const GeometryShaderArguments &args)
ProgramHandle createProgram (const ProgramArguments &args)
RenderbufferHandle createRenderbuffer (const RenderbufferArguments &args)
Texture2DHandle createTexture2D (const Texture2DArguments &args)
TextureCubeHandle createTextureCube (const TextureCubeArguments &args)
VertexShaderHandle createVertexShader (const VertexShaderArguments &args)
bool isAcquired (void) const
bool isValid (void) const
void release (void)
void unbindDrawFramebuffer (void)
void unbindFeedbackBuffer (GLuint index)
void unbindFragmentShader (void)
void unbindGeometryShader (void)
void unbindIndexBuffer (void)
void unbindPixelPackBuffer (void)
void unbindPixelUnpackBuffer (void)
void unbindProgram (void)
void unbindReadDrawFramebuffer (void)
void unbindReadFramebuffer (void)
void unbindRenderbuffer (void)
void unbindTexture2D (GLint unit)
void unbindTextureCube (GLint unit)
void unbindUniformBuffer (GLuint index)
void unbindVertexBuffer (void)
void unbindVertexShader (void)
virtual ~Context (void)

Private Types

typedef std::pair< GLenum, GLint > BindingTarget
typedef Object ObjectType
typedef std::map
< BindingTarget,
RefCountedBindingType * > 
RefCountedBindingPtrMap
typedef
RefCountedBindingPtrMap::const_iterator 
RefCountedBindingPtrMapConstIterator
typedef
RefCountedBindingPtrMap::iterator 
RefCountedBindingPtrMapIterator
typedef
RefCountedBindingPtrMap::value_type 
RefCountedBindingPtrMapValue
typedef
BoundObjectHandle::RefCountedObjectType 
RefCountedBindingType
typedef std::map< Object
*, RefCountedPtrType * > 
RefCountedPtrPtrMap
typedef
RefCountedPtrPtrMap::const_iterator 
RefCountedPtrPtrMapConstIterator
typedef
RefCountedPtrPtrMap::iterator 
RefCountedPtrPtrMapIterator
typedef
RefCountedPtrPtrMap::value_type 
RefCountedPtrPtrMapValue
typedef
RefCountedPtrFromObject
< ObjectType >::Type 
RefCountedPtrType

Private Member Functions

template<typename TBinding >
BindingHandleFromBinding
< TBinding >::Type 
bind (typename SafeHandleFromBinding< TBinding >::Type &h, const typename detail::ParamsOf< TBinding >::Type &params=typename detail::ParamsOf< TBinding >::Type())
template<typename TObject >
SafeHandleFromObject< TObject >
::Type 
createHandle (void)
template<typename TObject >
TObject * createObject (void)
void destroyObject (Object *object)
template<typename TBinding , typename TBindingParams >
void initializeTarget (const TBindingParams &params)
void initializeTargets (void)
void invalidateReferencesToAllObjects (void)
void noMoreReferencesTo (Object *object)
template<typename TBinding , typename TBindingParams >
void terminateTarget (const TBindingParams &params)
void terminateTargets (void)

Private Attributes

bool m_acquired
RefCountedBindingPtrMap m_bindings
int m_maxFeedbackBuffers
int m_maxTextureUnits
int m_maxUniformBuffers
RefCountedPtrPtrMap m_objects

Friends

class detail::ObjectDeleter

Detailed Description

Definition at line 23 of file context.h.


Member Typedef Documentation

Reimplemented from glw::detail::NonCopyable.

Definition at line 29 of file context.h.

typedef std::pair<GLenum, GLint> glw::Context::BindingTarget [private]

Definition at line 408 of file context.h.

typedef Object glw::Context::ObjectType [private]

Definition at line 401 of file context.h.

Definition at line 410 of file context.h.

typedef RefCountedBindingPtrMap::const_iterator glw::Context::RefCountedBindingPtrMapConstIterator [private]

Definition at line 411 of file context.h.

typedef RefCountedBindingPtrMap::iterator glw::Context::RefCountedBindingPtrMapIterator [private]

Definition at line 412 of file context.h.

typedef RefCountedBindingPtrMap::value_type glw::Context::RefCountedBindingPtrMapValue [private]

Definition at line 413 of file context.h.

Definition at line 409 of file context.h.

Definition at line 403 of file context.h.

typedef RefCountedPtrPtrMap::const_iterator glw::Context::RefCountedPtrPtrMapConstIterator [private]

Definition at line 404 of file context.h.

typedef RefCountedPtrPtrMap::iterator glw::Context::RefCountedPtrPtrMapIterator [private]

Definition at line 405 of file context.h.

typedef RefCountedPtrPtrMap::value_type glw::Context::RefCountedPtrPtrMapValue [private]

Definition at line 406 of file context.h.

Definition at line 402 of file context.h.

Reimplemented from glw::detail::NonCopyable.

Definition at line 30 of file context.h.


Constructor & Destructor Documentation

glw::Context::Context ( void  ) [inline]

Definition at line 32 of file context.h.

virtual glw::Context::~Context ( void  ) [inline, virtual]

Definition at line 41 of file context.h.


Member Function Documentation

bool glw::Context::acquire ( void  ) [inline]

Definition at line 46 of file context.h.

template<typename TBinding >
BindingHandleFromBinding<TBinding>::Type glw::Context::bind ( typename SafeHandleFromBinding< TBinding >::Type h,
const typename detail::ParamsOf< TBinding >::Type params = typename detail::ParamsOf<TBinding>::Type() 
) [inline, private]

Definition at line 601 of file context.h.

Definition at line 296 of file context.h.

BoundFeedbackBufferHandle glw::Context::bindFeedbackBuffer ( BufferHandle handle,
GLuint  index,
GLintptr  offset,
GLsizeiptr  size 
) [inline]

Definition at line 139 of file context.h.

Definition at line 211 of file context.h.

Definition at line 193 of file context.h.

Definition at line 95 of file context.h.

Definition at line 106 of file context.h.

Definition at line 117 of file context.h.

Definition at line 229 of file context.h.

Definition at line 309 of file context.h.

Definition at line 283 of file context.h.

Definition at line 157 of file context.h.

BoundTexture2DHandle glw::Context::bindTexture2D ( Texture2DHandle handle,
GLint  unit 
) [inline]

Definition at line 247 of file context.h.

Definition at line 265 of file context.h.

BoundUniformBufferHandle glw::Context::bindUniformBuffer ( BufferHandle handle,
GLuint  index,
GLintptr  offset,
GLsizeiptr  size 
) [inline]

Definition at line 128 of file context.h.

Definition at line 84 of file context.h.

Definition at line 175 of file context.h.

Definition at line 77 of file context.h.

Definition at line 204 of file context.h.

Definition at line 276 of file context.h.

Definition at line 186 of file context.h.

template<typename TObject >
SafeHandleFromObject<TObject>::Type glw::Context::createHandle ( void  ) [inline, private]

Definition at line 557 of file context.h.

template<typename TObject >
TObject* glw::Context::createObject ( void  ) [inline, private]

Definition at line 542 of file context.h.

Definition at line 222 of file context.h.

Definition at line 150 of file context.h.

Definition at line 240 of file context.h.

Definition at line 258 of file context.h.

Definition at line 168 of file context.h.

void glw::Context::destroyObject ( Object object) [inline, private]

Definition at line 549 of file context.h.

template<typename TBinding , typename TBindingParams >
void glw::Context::initializeTarget ( const TBindingParams &  params) [inline, private]

Definition at line 423 of file context.h.

void glw::Context::initializeTargets ( void  ) [inline, private]

Definition at line 443 of file context.h.

void glw::Context::invalidateReferencesToAllObjects ( void  ) [inline, private]

Definition at line 589 of file context.h.

bool glw::Context::isAcquired ( void  ) const [inline]

Definition at line 67 of file context.h.

bool glw::Context::isValid ( void  ) const [inline]

Definition at line 72 of file context.h.

void glw::Context::noMoreReferencesTo ( Object object) [inline, private]

Definition at line 580 of file context.h.

void glw::Context::release ( void  ) [inline]

Definition at line 58 of file context.h.

template<typename TBinding , typename TBindingParams >
void glw::Context::terminateTarget ( const TBindingParams &  params) [inline, private]

Definition at line 434 of file context.h.

void glw::Context::terminateTargets ( void  ) [inline, private]

Definition at line 500 of file context.h.

void glw::Context::unbindDrawFramebuffer ( void  ) [inline]

Definition at line 303 of file context.h.

void glw::Context::unbindFeedbackBuffer ( GLuint  index) [inline]

Definition at line 144 of file context.h.

void glw::Context::unbindFragmentShader ( void  ) [inline]

Definition at line 216 of file context.h.

void glw::Context::unbindGeometryShader ( void  ) [inline]

Definition at line 198 of file context.h.

void glw::Context::unbindIndexBuffer ( void  ) [inline]

Definition at line 100 of file context.h.

void glw::Context::unbindPixelPackBuffer ( void  ) [inline]

Definition at line 111 of file context.h.

void glw::Context::unbindPixelUnpackBuffer ( void  ) [inline]

Definition at line 122 of file context.h.

void glw::Context::unbindProgram ( void  ) [inline]

Definition at line 234 of file context.h.

void glw::Context::unbindReadDrawFramebuffer ( void  ) [inline]

Definition at line 317 of file context.h.

void glw::Context::unbindReadFramebuffer ( void  ) [inline]

Definition at line 290 of file context.h.

void glw::Context::unbindRenderbuffer ( void  ) [inline]

Definition at line 162 of file context.h.

void glw::Context::unbindTexture2D ( GLint  unit) [inline]

Definition at line 252 of file context.h.

void glw::Context::unbindTextureCube ( GLint  unit) [inline]

Definition at line 270 of file context.h.

void glw::Context::unbindUniformBuffer ( GLuint  index) [inline]

Definition at line 133 of file context.h.

void glw::Context::unbindVertexBuffer ( void  ) [inline]

Definition at line 89 of file context.h.

void glw::Context::unbindVertexShader ( void  ) [inline]

Definition at line 180 of file context.h.


Friends And Related Function Documentation

friend class detail::ObjectDeleter [friend]

Definition at line 25 of file context.h.


Member Data Documentation

bool glw::Context::m_acquired [private]

Definition at line 415 of file context.h.

Definition at line 420 of file context.h.

Definition at line 417 of file context.h.

Definition at line 418 of file context.h.

Definition at line 416 of file context.h.

Definition at line 419 of file context.h.


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


shape_reconstruction
Author(s): Roberto Martín-Martín
autogenerated on Sat Jun 8 2019 18:41:06