Parent of all Mitsuba classes. More...
#include <mitsuba/mitsuba.h>
Public Member Functions | |
Object () | |
Construct a new object. More... | |
int | getRefCount () const |
Return the current reference count. More... | |
void | incRef () const |
Increase the reference count of the object by one. More... | |
void | decRef (bool autoDeallocate=true) const |
Decrease the reference count of the object and possibly deallocate it. More... | |
virtual const Class * | getClass () const |
Retrieve this object's class. More... | |
virtual std::string | toString () const |
Return a human-readable string representation of the object's contents. More... | |
Static Public Member Functions | |
static void | staticInitialization () |
Initializes the built-in reference count debugger (if enabled) More... | |
static void | staticShutdown () |
Free the memory taken by staticInitialization() More... | |
Static Public Attributes | |
static Class * | m_theClass |
Pointer to the object's class descriptor. More... | |
Protected Member Functions | |
virtual | ~Object () |
Virtual private deconstructor. (Will only be called by ref) More... | |
Parent of all Mitsuba classes.
Contains functions relevant to every object such as reference counting, limited type introspection and lifetime management.
Object::Object | ( | ) |
Construct a new object.
|
protectedvirtual |
Virtual private deconstructor. (Will only be called by ref)
void Object::decRef | ( | bool | autoDeallocate = true | ) | const |
Decrease the reference count of the object and possibly deallocate it.
The object will automatically be deallocated once the reference count reaches zero.
|
virtual |
Retrieve this object's class.
Reimplemented in mitsuba::Bitmap, mitsuba::Scene, mitsuba::DummyWorkUnit, mitsuba::LocalWorker, mitsuba::TMIPMap< Value, QuantizedValue >, mitsuba::Worker, mitsuba::Emitter, mitsuba::KDTreeBase< AABBType >, mitsuba::KDTreeBase< AABB2 >, mitsuba::KDTreeBase< AABB >, mitsuba::KDTreeBase< AABB4 >, mitsuba::PerspectiveCamera, mitsuba::Shape, mitsuba::BSDF, mitsuba::Stream, mitsuba::AnimatedTransform, mitsuba::Scheduler, mitsuba::ProjectiveCamera, mitsuba::SHSampler, mitsuba::MonteCarloIntegrator, mitsuba::SamplingIntegrator, mitsuba::AbstractEmitter, mitsuba::GPUTexture, mitsuba::Device, mitsuba::Statistics, mitsuba::VPLShaderManager, mitsuba::Sensor, mitsuba::SpectrumProductTexture, mitsuba::ParallelProcess, mitsuba::IrradianceCache, mitsuba::TriMesh, mitsuba::Renderer, mitsuba::GPUProgram, mitsuba::SeedWorkUnit, mitsuba::SpectrumSubtractionTexture, mitsuba::ImageBlock, mitsuba::ParticleTracer, mitsuba::PhaseFunction, mitsuba::StreamBackend, mitsuba::GLRenderer, mitsuba::Logger, mitsuba::SpectrumAdditionTexture, mitsuba::ShapeKDTree, mitsuba::Medium, mitsuba::PhotonMap, mitsuba::PathSampler, mitsuba::RemoteProcess, mitsuba::Thread, mitsuba::PluginManager, mitsuba::ChiSquare, mitsuba::Sampler, mitsuba::Texture2D, mitsuba::WorkProcessor, mitsuba::Random, mitsuba::ConditionVariable, mitsuba::ConstantFloatTexture, mitsuba::MutatorBase, mitsuba::Shader, mitsuba::UnbufferedAppender, mitsuba::FileStream, mitsuba::Integrator, mitsuba::Film, mitsuba::GLTexture, mitsuba::SSHStream, mitsuba::NSGLDevice, mitsuba::Font, mitsuba::RenderJob, mitsuba::GLProgram, mitsuba::HemisphereSampler, mitsuba::RemoteWorkerReader, mitsuba::RenderQueue, mitsuba::Texture, mitsuba::SocketStream, mitsuba::ShadowMapGenerator, mitsuba::Mutator, mitsuba::GatherPhotonProcess, mitsuba::Spiral, mitsuba::MemoryStream, mitsuba::FileResolver, mitsuba::Timer, mitsuba::StreamAppender, mitsuba::DefaultFormatter, mitsuba::WaitFlag, mitsuba::WorkResult, mitsuba::ZStream, mitsuba::ReplayableSampler, mitsuba::ConstantSpectrumTexture, mitsuba::ReconstructionFilter, mitsuba::ParticleProcess, mitsuba::ConfigurableObject, mitsuba::SpecularManifold, mitsuba::InstanceManager, mitsuba::RangeWorkUnit, mitsuba::BlockedRenderProcess, mitsuba::BidirectionalMutator, mitsuba::MemoryMappedFile, mitsuba::VolumeDataSource, mitsuba::CausticPerturbation, mitsuba::LensPerturbation, mitsuba::MultiChainPerturbation, mitsuba::AbstractAnimationTrack, mitsuba::Subsurface, mitsuba::WGLDevice, mitsuba::ManifoldPerturbation, mitsuba::RendererCapabilities, mitsuba::GPUGeometry, mitsuba::X11Device, mitsuba::TestCase, mitsuba::ConsoleStream, mitsuba::RemoteWorker, mitsuba::WorkUnit, mitsuba::X11Session, mitsuba::Formatter, mitsuba::WGLSession, mitsuba::Session, mitsuba::Appender, mitsuba::NetworkedObject, mitsuba::GLGeometry, mitsuba::RenderListener, mitsuba::GPUSync, mitsuba::NSGLSession, mitsuba::RectangularWorkUnit, mitsuba::GLSync, mitsuba::NSGLRenderer, mitsuba::WGLRenderer, mitsuba::Mutex, mitsuba::BlockedImageProcess, mitsuba::GLXRenderer, mitsuba::SerializableObject, mitsuba::Utility, and mitsuba::GLXDevice.
|
inline |
Return the current reference count.
void Object::incRef | ( | ) | const |
Increase the reference count of the object by one.
|
static |
Initializes the built-in reference count debugger (if enabled)
|
static |
Free the memory taken by staticInitialization()
|
virtual |
Return a human-readable string representation of the object's contents.
This function is mainly useful for debugging purposes and should ideally be implemented by all subclasses. The default implementation simply returns MyObject[unknown]
, where MyObject
is the name of the subclass.
Reimplemented in mitsuba::Bitmap, mitsuba::Scene, mitsuba::DummyWorkUnit, mitsuba::TMIPMap< Value, QuantizedValue >, mitsuba::AnimatedTransform, mitsuba::SHSampler, mitsuba::GPUTexture, mitsuba::SpectrumProductTexture, mitsuba::TriMesh, mitsuba::SeedWorkUnit, mitsuba::GPUProgram, mitsuba::SpectrumSubtractionTexture, mitsuba::ImageBlock, mitsuba::IrradianceCache, mitsuba::PhaseFunction, mitsuba::PhotonMap, mitsuba::Medium, mitsuba::SpectrumAdditionTexture, mitsuba::Thread, mitsuba::ConstantFloatTexture, mitsuba::UnbufferedAppender, mitsuba::SSHStream, mitsuba::MemoryStream, mitsuba::FileResolver, mitsuba::Timer, mitsuba::StreamAppender, mitsuba::WorkResult, mitsuba::ZStream, mitsuba::FileStream, mitsuba::SocketStream, mitsuba::Stream, mitsuba::SpecularManifold, mitsuba::ReplayableSampler, mitsuba::RendererCapabilities, mitsuba::ConstantSpectrumTexture, mitsuba::GPUGeometry, mitsuba::MemoryMappedFile, mitsuba::ConsoleStream, mitsuba::WorkUnit, mitsuba::RangeWorkUnit, mitsuba::GPUSync, and mitsuba::RectangularWorkUnit.
|
static |
Pointer to the object's class descriptor.