29 #ifndef CDPL_VIS_OBJECT3D_HPP
30 #define CDPL_VIS_OBJECT3D_HPP
35 #include <boost/iterator/indirect_iterator.hpp>
68 typedef std::vector<SharedPointer> Object3DList;
69 typedef boost::indirect_iterator<Object3DList::iterator, Object3D> Object3DIterator;
70 typedef boost::indirect_iterator<Object3DList::const_iterator, const Object3D> ConstObject3DIterator;
135 ConstObject3DIterator
begin()
const;
147 ConstObject3DIterator
end()
const;
202 Object3DList subObjects;
Definition of class CDPL::Base::PropertyContainer.
Definition of the preprocessor macro CDPL_VIS_API.
#define CDPL_VIS_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Base class providing methods for the storage and lookup of object properties.
Definition: PropertyContainer.hpp:75
Hierarchical 3D scene object that owns a list of nested sub-objects and inherits its property bag fro...
Definition: Object3D.hpp:57
ConstObject3DIterator getSubObjectsBegin() const
Returns a constant iterator pointing to the beginning of the sub-objects.
const Object3D & getSubObject(std::size_t idx) const
Returns a const reference to the sub-object at index idx.
Object3D & getSubObject(std::size_t idx)
Returns a non-const reference to the sub-object at index idx.
virtual ~Object3D()
Virtual destructor.
Definition: Object3D.hpp:87
std::shared_ptr< Object3D > SharedPointer
A reference-counted smart pointer [SHPTR] for dynamically allocated Object3D instances.
Definition: Object3D.hpp:65
Object3DIterator getSubObjectsEnd()
Returns a mutable iterator pointing to the end of the sub-objects.
Object3D(const Object3D &obj)
Constructs a copy of the Object3D instance obj.
ConstObject3DIterator end() const
Returns a constant iterator pointing to the end of the sub-objects.
Object3D()
Default constructor.
Object3DIterator begin()
Returns a mutable iterator pointing to the beginning of the sub-objects.
Object3DIterator getSubObjectsBegin()
Returns a mutable iterator pointing to the beginning of the sub-objects.
Object3D & operator=(const Object3D &obj)
Assignment operator.
ConstObject3DIterator getSubObjectsEnd() const
Returns a constant iterator pointing to the end of the sub-objects.
std::size_t getNumSubObjects() const
Returns the number of sub-objects directly owned by this object.
void removeSubObject(std::size_t idx)
Removes the sub-object at index idx.
Object3D & addSubObject()
Creates a new empty sub-object and appends it to the sub-object list.
void clear()
Removes all sub-objects and clears all properties of this object.
ConstObject3DIterator begin() const
Returns a constant iterator pointing to the beginning of the sub-objects.
Object3D & addSubObject(const SharedPointer &object)
Appends the supplied object to the sub-object list.
Object3DIterator removeSubObject(const Object3DIterator &it)
Removes the sub-object specified by the iterator it.
Object3DIterator end()
Returns a mutable iterator pointing to the end of the sub-objects.
The namespace of the Chemical Data Processing Library.