//! Default constructor.
 ArrayAbstract()
 { 
   VL_DEBUG_SET_OBJECT_NAME()
   mBufferGPU = new GLBufferObject;
   mVBODirty = true;
   mVBOUsage = vl::BU_STATIC_DRAW;
 }
 /** Constructor. */
 Effect() 
 { 
   VL_DEBUG_SET_OBJECT_NAME()
   mEnableMask = 0xFFFFFFFF;
   mRenderRank = 0;
   mActiveLod  = 0;
   mLODShaders[0] = new ShaderPasses(new Shader);
 }
 MultiDrawElements(EPrimitiveType primitive = PT_TRIANGLES)
 {
   VL_DEBUG_SET_OBJECT_NAME()
   mType                    = primitive;
   mIndexBuffer             = new arr_type;
   mPrimitiveRestartIndex   = typename arr_type::scalar_type(~0);
   mPrimitiveRestartEnabled = false;
 }
 Atom()
 {
   VL_DEBUG_SET_OBJECT_NAME()
   mId       = 0;
   mAtomType = AT_Unknown;
   mCoordinates = fvec3(0,0,0);
   mColor    = fvec4(1.0f,1.0f,1.0f,1.0f);
   mRadius   = 0.25f;
   mVisited  = false;
   mVisible  = true;
   mShowAtomName= false;
   /*mAtomName = nothing*/
 }
 //! Constructor.
 Object()
 {
   VL_DEBUG_SET_OBJECT_NAME()
   mRefCountMutex = NULL;
   mReferenceCount = 0;
   mAutomaticDelete = true;
   // user data
   #ifdef VL_USER_DATA_OBJECT
     mUserData = NULL;
   #endif
   #if VL_DEBUG_LIVING_OBJECTS
     debug_living_objects()->insert(this);
     // mDebug_LivingObjects.insert(this);
   #endif
 }
 SceneManagerActorTree()
 { 
   VL_DEBUG_SET_OBJECT_NAME()
   mBoundingVolumeTree = new ActorTree;
 }