Visualization Library

A lightweight C++ OpenGL middleware for 2D/3D graphics
[Home] [Tutorials] [All Classes] [Grouped Classes]
Public Member Functions | Protected Member Functions | Protected Attributes

vl::Object Class Reference

The base class for all the reference counted objects. More...

#include <Object.hpp>

Inheritance diagram for vl::Object:
vl::BufferedStream< unsigned char, 128 *1024 > vl::Collection< Actor > vl::Collection< Shader > vl::Actor vl::ActorEventCallback vl::ActorTreeAbstract vl::ArrayAbstract vl::BezierPatch vl::Buffer vl::BufferedStream< Element_Type, Chunk_Size > vl::Camera vl::CatmullRomInterpolator< T > vl::Collection< T > vl::DrawCall vl::DrawPixels::Pixels vl::EdgeExtractor vl::Effect vl::EnableSet vl::Extrusion vl::FBOAttachmentAbstract vl::FileSystem vl::Font vl::FontManager vl::Frustum vl::Geometry::TextureArray vl::GLSLShader vl::Glyph vl::Image vl::IndexIterator vl::IndexIteratorAbstract vl::Interpolator vl::KeyValues vl::LinearInterpolator< T > vl::LoadCallback vl::LoadWriterManager vl::LODEvaluator vl::Log vl::ObjMaterial vl::ObjMesh vl::OpenGLContext vl::Plane vl::PlyLoader::PlyElement vl::PlyLoader::PlyPropertyAbstract vl::PolygonSimplifier vl::Portal vl::ProjViewTransfCallback vl::RayIntersection vl::RayIntersector vl::Renderable vl::RendererAbstract vl::RenderEventCallback vl::RenderingAbstract vl::RenderQueue vl::RenderQueueSorter vl::RenderState vl::RenderStateSet vl::RenderTarget vl::RenderToken vl::ResourceDatabase vl::ResourceLoadWriter vl::SceneManager vl::Scissor vl::Sector vl::Sector::VisibilityCallback vl::Settings vl::Shader vl::ShaderAnimator vl::ShaderNode vl::Tessellator vl::Texture vl::Texture::SetupParams vl::Time vl::Transform vl::TriangleIteratorAbstract vl::UIEventListener vl::Uniform vl::UniformSet vl::VertexAttribInfo vl::VertexMapper vl::Viewport vl::VirtualDirectory vl::VirtualFile vl::WriteCallback vl::ZippedFileInfo vlMolecule::Atom vlMolecule::Bond vlMolecule::Molecule vlVG::VectorGraphics vlVolume::Volume vlVolume::VolumeInfo vlVolume::VolumePlot

List of all members.

Public Member Functions

virtual const char * className ()
 Returns the name of the class.
 Object ()
 Object (const Object &other)
Objectoperator= (const Object &other)
const std::string & objectName () const
void setObjectName (const std::string &name)
void setMutex (VirtualMutex *mutex)
 Set the mutex used to protect the reference counting of this object across multiple threads.
VirtualMutexmutex ()
 Returns the mutex used to protect the reference counting of this object across multiple threads.
const VirtualMutexmutex () const
 Returns the mutex used to protect the reference counting of this object across multiple threads.
int referenceCount () const
void incReference ()
void decReference ()
void setAutomaticDelete (bool autodel_on)
 If set to true the Object is deleted when its reference count reaches 0.
bool automaticDelete () const
 If set to true the Object is deleted when its reference count reaches 0.
template<class T >
T * as ()
 Casts an Object to the specified class.
template<class T >
const T * as () const
 Casts an Object to the specified class.

Protected Member Functions

virtual ~Object ()

Protected Attributes

std::string mObjectName
VirtualMutexmMutex
int mReferenceCount
bool mAutomaticDelete

Detailed Description

The base class for all the reference counted objects.

See also vl::ref.


Constructor & Destructor Documentation

vl::Object::Object (  ) [inline]
vl::Object::Object ( const Object other ) [inline]
Object::~Object (  ) [protected, virtual]

Member Function Documentation

virtual const char* vl::Object::className (  ) [inline, virtual]

Returns the name of the class.

Reimplemented in vl::Actor, vl::ActorKdTree, vl::ActorTree, vl::ActorTreeAbstract, vl::ArrayAbstract, vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >, vl::BezierPatch, vl::BezierSurface, vl::Billboard, vl::BlitFramebuffer, vl::Buffer, vl::BufferedStream< Element_Type, Chunk_Size >, vl::Camera, vl::Clear, vl::ClipPlane, vl::Collection< T >, vl::CopyTexSubImage, vl::CopyTexSubImage1D, vl::CopyTexSubImage2D, vl::CopyTexSubImage3D, vl::DepthSortCallback, vl::DiskDirectory, vl::DiskFile, vl::DistanceLODEvaluator, vl::VertexMapper, vl::DoubleVertexRemover, vl::DrawArrays, vl::DrawCall, vl::DrawElements< Tgltype, arr_type >, vl::DrawPixels::Pixels, vl::DrawPixels, vl::DrawRangeElements< index_type, Tgltype, arr_type >, vl::EdgeExtractor, vl::EdgeRenderer, vl::EdgeUpdateCallback, vl::ShaderSequence, vl::Effect, vl::EnableSet, vl::FileSystem, vl::Glyph, vl::Font, vl::FontManager, vl::FBOAttachmentAbstract, vl::FBORenderbufferAttachment, vl::FBOColorBufferAttachment, vl::FBODepthBufferAttachment, vl::FBOStencilBufferAttachment, vl::FBODepthStencilBufferAttachment, vl::FBOTexture1DAttachment, vl::FBOTexture2DAttachment, vl::FBOTextureAttachment, vl::FBOTexture3DAttachment, vl::FBOTextureLayerAttachment, vl::FBORenderTarget, vl::Frustum, vl::Geometry, vl::GeometryLoadCallback, vl::GhostCameraManipulator, vl::GLBufferObject, vl::GLSLShader, vl::GLSLVertexShader, vl::GLSLFragmentShader, vl::GLSLGeometryShader, vl::GLSLProgram, vl::GZipCodec, vl::Image, vl::Light, vl::LoadWriterManager, vl::LODEvaluator, vl::Log, vl::StandardLog, vl::MemoryDirectory, vl::MemoryFile, vl::MorphingCallback, vl::MultiDrawElements< Tgltype, arr_type >, vl::OpenGLContext, vl::PixelLODEvaluator, vl::Plane, vl::PolygonSimplifier, vl::RayIntersection, vl::RayIntersectionGeometry, vl::RayIntersector, vl::ReadPixels, vl::Renderable, vl::Renderer, vl::RenderEventCallback, vl::Rendering, vl::RenderingTree, vl::RenderQueue, vl::RenderQueueSorter, vl::RenderQueueSorterByShader, vl::RenderQueueSorterByRenderable, vl::RenderQueueSorterBasic, vl::RenderQueueSorterStandard, vl::RenderQueueSorterOcclusion, vl::RenderQueueSorterAggressive, vl::RenderState, vl::TextureState, vl::RenderStateSet, vl::RenderTarget, vl::RenderToken, vl::ResourceDatabase, vl::ResourceLoadWriter, vl::SceneManager, vl::SceneManagerActorKdTree, vl::SceneManagerActorTree, vl::SceneManagerBVH< T >, vl::Scissor, vl::PixelTransfer, vl::Hint, vl::CullFace, vl::FrontFace, vl::DepthFunc, vl::DepthMask, vl::PolygonMode, vl::ShadeModel, vl::BlendFunc, vl::BlendEquation, vl::SampleCoverage, vl::AlphaFunc, vl::Material, vl::LightModel, vl::Fog, vl::PolygonOffset, vl::LogicOp, vl::DepthRange, vl::LineWidth, vl::PointSize, vl::PolygonStipple, vl::LineStipple, vl::PointParameter, vl::StencilFunc, vl::StencilOp, vl::StencilMask, vl::BlendColor, vl::ColorMask, vl::TextureMatrix, vl::TexEnv, vl::TexGen, vl::TextureUnit, vl::Shader, vl::ShaderNode, vl::Terrain, vl::Text, vl::TextStream, vl::Texture, vl::Time, vl::TrackballManipulator, vl::Transform, vl::UIEventListener, vl::Uniform, vl::UniformSet, vl::VertexAttribInfo, vl::Viewport, vl::VirtualDirectory, vl::VirtualFile, vl::LoadWriter3DS, vl::LoadWriterAC3D, vl::LoadWriterBMP, vl::LoadWriterDAT, vl::LoadWriterDDS, vl::LoadWriterDICOM, vl::LoadWriterJPG, vl::LoadWriterMD2, vl::LoadWriterOBJ, vl::ObjMaterial, vl::ObjMesh, vl::LoadWriterPLY, vl::LoadWriterPNG, vl::LoadWriterSTL, vl::LoadWriterTGA, vl::LoadWriterTIFF, vl::ZippedDirectory, vl::ZippedFileInfo, vl::ZippedFile, vlut::Applet, vlVG::SceneManagerVectorGraphics, vlVG::VectorGraphics, vlVolume::Volume, vlVolume::VolumeInfo, vlMolecule::Atom, vlMolecule::Bond, vlMolecule::Molecule, vl::BufferedStream< unsigned char, 128 *1024 >, vl::Collection< LoadCallback >, vl::Collection< WriteCallback >, vl::Collection< Shader >, vl::Collection< VolumeInfo >, vl::Collection< Actor >, vl::Collection< DrawCall >, vl::Collection< RenderEventCallback >, vl::Collection< VertexAttribInfo >, vl::Collection< TextureArray >, vl::Collection< ResourceLoadWriter >, vl::Collection< Pixels >, vl::Collection< VirtualDirectory >, vl::Collection< ActorEventCallback >, vl::Collection< SceneManager >, vl::Collection< VectorGraphics >, vl::Collection< RenderingAbstract >, vl::DrawElements< GL_UNSIGNED_BYTE, ArrayUByte >, vl::DrawElements< GL_UNSIGNED_INT, ArrayUInt >, vl::DrawElements< GL_UNSIGNED_SHORT, ArrayUShort >, vl::DrawRangeElements< GLushort, GL_UNSIGNED_SHORT, ArrayUShort >, vl::DrawRangeElements< GLubyte, GL_UNSIGNED_BYTE, ArrayUByte >, vl::DrawRangeElements< GLuint, GL_UNSIGNED_INT, ArrayUInt >, vl::MultiDrawElements< GL_UNSIGNED_BYTE, ArrayUByte >, vl::MultiDrawElements< GL_UNSIGNED_INT, ArrayUInt >, vl::MultiDrawElements< GL_UNSIGNED_SHORT, ArrayUShort >, vl::SceneManagerBVH< ActorKdTree >, and vl::SceneManagerBVH< ActorTree >.

Object& vl::Object::operator= ( const Object other ) [inline]
const std::string& vl::Object::objectName (  ) const [inline]
void vl::Object::setObjectName ( const std::string &  name ) [inline]
void vl::Object::setMutex ( VirtualMutex mutex ) [inline]

Set the mutex used to protect the reference counting of this object across multiple threads.

VirtualMutex* vl::Object::mutex (  ) [inline]

Returns the mutex used to protect the reference counting of this object across multiple threads.

const VirtualMutex* vl::Object::mutex (  ) const [inline]

Returns the mutex used to protect the reference counting of this object across multiple threads.

int vl::Object::referenceCount (  ) const [inline]
void vl::Object::incReference (  ) [inline]
void vl::Object::decReference (  ) [inline]
void vl::Object::setAutomaticDelete ( bool  autodel_on ) [inline]

If set to true the Object is deleted when its reference count reaches 0.

bool vl::Object::automaticDelete (  ) const [inline]

If set to true the Object is deleted when its reference count reaches 0.

template<class T >
T* vl::Object::as (  ) [inline]

Casts an Object to the specified class.

template<class T >
const T* vl::Object::as (  ) const [inline]

Casts an Object to the specified class.


Member Data Documentation

std::string vl::Object::mObjectName [protected]
int vl::Object::mReferenceCount [protected]
bool vl::Object::mAutomaticDelete [protected]

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

Visualization Library v2010.11.1125 Reference Documentation
Copyright 2005-2009 Michele Bosi. All rights reserved.
Updated on Fri Nov 26 2010 10:33:50.
Permission is granted to use this page to write and publish articles regarding Visualization Library.