|
The Vish Visualization Shell 0.3
Vish
|
A vertex buffer object, encompassing many vertex buffer arrays and a rendering routine with pre- and post execution code. More...
#include <ocean/GLvish/VBO.hpp>
Classes | |
| struct | Error |
| class | Renderer |
| The rendering operation is formulated via a Renderer object that is supposed to implement OpenGL calls. More... | |
Public Member Functions | |
| bool | append (const RefPtr< BufferArray > &BA) |
| Append a vertex array attribute. | |
| bool | call () const |
| Call the rendering routine of this vertex buffer object. | |
| memsize_t | computeMemsize () const override |
| Tell how much memory this VBO occupies. | |
| bool | empty () const throw () |
| Check if a renderer is attached. | |
| RefPtr< Renderer > | getRenderer () throw () |
| Get the current Renderer object. | |
| size_t | NumberOfElements () const |
| Determine the number of elements that this VBO handles. | |
| void | reset () |
| Empty all arrays and renderers from this VBO. | |
| void | setRenderer (const RefPtr< Renderer > &) throw () |
| Set a renderer object. | |
| VBO (const MemCore::RefPtr< MemCore::Creature > &) | |
| Constructor, tell creator object. | |
| ~VBO () | |
| Destructor, might throw exceptions (lets hope it does not) | |
Public Member Functions inherited from MemCore::MutableCacheable | |
| void | adjustCurrentMemsize () |
| Call this function whenever the size has changed and memsize() function's result shall be synchronized with the computeMemsize() function. | |
| memsize_t | memsize () const |
| Return the currently registered memory size. | |
| MutableCacheable (const WeakPtr< Creature > &C) | |
| Constructor. | |
Public Member Functions inherited from MemCore::Cacheable | |
| Cacheable (const WeakPtr< Creature > &C) | |
| Constructor. | |
| virtual void | DeferredConstructor () |
| A virtual function that is called on the first strong referencing of a Cacheable object. | |
| bool | isCached () const |
| Check whether this object is managed by a cache queue. | |
| bool | isUncached () const |
| Check whether this object is managed by a cache queue. | |
| bool | markAsUsed () |
| Mark this data object as being recently used. | |
| WeakPtr< CacheBase > | myCache () const |
| Return the associated Cache object as known from the associated Creator, if any. | |
| const WeakPtr< Creature > & | myCreator () const |
| Return the associated Creator, if any. | |
| int | NumberOfListEntries () const |
| Count the number of entries here. | |
| void | PreDestructor () |
| This class uses a predestructor to remove itself's size from the cache queue. | |
| void | push_back (CacheQueue &Q) |
| Put the current item onto the BACK of the given cache queue. | |
| void | push_front (CacheQueue &Q) |
| Put the current item onto the FRONT of the given cache queue. | |
| void | setCreator (const WeakPtr< Creature > &C) |
| Set and the creator. | |
Public Member Functions inherited from MemCore::ReferenceBase< Cacheable > | |
| auto | getObjectCountID () const noexcept |
| Get a unique ID for this object in the given domain. | |
| bool | isIdentical (const WeakPtr< Cacheable, Cacheable > &PossibleSelf) const noexcept |
| Check if this object is identical to the one used by the given pointer. | |
| void | mkAutoDestructive () |
| Marks this object as being automatically destructed, e.g. | |
| refcount_t | refcount () const noexcept |
| The strong reference count. | |
| ReferenceBase (Cacheable *that) noexcept | |
| Constructor, initializes reference counter to zero. | |
| const auto & | self () const |
| Return weak pointer to the object self. | |
| refcount_t | wrefcount () const noexcept |
| The weak reference count. | |
Public Member Functions inherited from MemCore::Ageable | |
| Ageable () noexcept | |
| Constructor; remembers birth time from current time counter. | |
| constexpr | Ageable (age_t t) noexcept |
| Constructor with explicit time value. | |
| constexpr | Ageable (const Ageable &A) noexcept |
| Copy constructor. | |
| Ageable (const volatile Ageable &A) noexcept | |
| Copy constructor. | |
| constexpr const Ageable & | getAge () const |
| Return reference to this age, useful for derived classes. | |
| bool | isNewerThan (const Ageable &a) const noexcept |
| Comparison operator. | |
| bool | isOlderThan (const Ageable &a) const noexcept |
| Comparison operator. | |
| bool | isYoungerThan (const Ageable &a) const noexcept |
| Comparison operator (alias to isNewerThan() ) | |
| bool | operator!= (const Ageable &a) const noexcept |
| Comparison operator. | |
| bool | operator< (const Ageable &a) const noexcept |
| Comparison operator. | |
| bool | operator<= (const Ageable &a) const noexcept |
| Comparision operator. | |
| bool | operator<= (const volatile Ageable &a) const volatile noexcept |
| Comparision operator. | |
| bool | operator== (const Ageable &a) const noexcept |
| Comparison operator. | |
| bool | operator> (const Ageable &a) const noexcept |
| Comparison operator. | |
| bool | operator> (const volatile Ageable &a) const volatile throw () |
| Comparision operator. | |
| bool | operator>= (const Ageable &a) const noexcept |
| Comparision operator. | |
| bool | operator>= (const volatile Ageable &a) const volatile noexcept |
| Comparison operator. | |
| constexpr void | resetAge () noexcept |
| Set time value to InfinitelyOld(). | |
| void | setInfinitelyNew () noexcept |
| Set time value to InfinitelyOld(). | |
| age_t | time_value () const noexcept |
| Return an object's current age. | |
| age_t | time_value () const volatile noexcept |
| Return an object's current age. | |
| Ageable & | touch () noexcept |
| Mark the current object as being modified "now". | |
| age_t | update (age_t age) noexcept |
| Set the age of the current object to a specific age if that is newer than the current one. | |
| age_t | update (const Ageable &Other) noexcept |
| Set the age of the current object to the age of another object if that other one is newer than the current one. | |
| age_t | update (const volatile Ageable &Other) volatile noexcept |
| Set the age of the current object to the age of another object if that other one is newer than the current one. | |
| ~Ageable () noexcept | |
| Destructor. | |
Public Member Functions inherited from MemCore::Intercube | |
| void | addInterface (const RefPtr< InterfaceBase > &I) const |
| Add an interface class object. | |
| template<class Data > | |
| void | addInterfaceData (const Data &D) |
| Add data via an interface class object. | |
| template<class Data , typename TypeSelector > | |
| void | addInterfaceData (const Data &D) |
| Add data via an interface class object. | |
| void | clearInterfaces () |
| Remove all interfaces. | |
| bool | const_iterateInterfaces (const RefPtr< InterfaceIterationParameter > &IIP) const |
| Constant iterator. | |
| virtual RefPtr< InterfaceBase > | createInterface (const type_info &) const |
| Virtual function which allows derived objects to create Interface objects on demand. | |
| RefPtr< InterfaceBase > | findInterface (const type_info &t) const |
| Find a certain interface of specified type. | |
| RefPtr< InterfaceBase > | getInterface (const type_info &t) |
| Retrieve an interface object from a certain type. | |
| std::string | getInterfaceNames (const char delim=';') const |
| Debug function retrieving all interfaces as human-readable string. | |
| template<class Data > | |
| bool | gotNewInterfaceData (const Data &D) |
| Check whether data on the given interface have changed, and if so, set new data as interface. | |
| template<class Data > | |
| bool | gotNewInterfaceData (mutex &M, const Data &D) |
| Check whether interface data have changed, if so, then set new interface data and return true. | |
| template<class Data , typename Selector > | |
| bool | gotNewInterfaceData (mutex &M, const Data &D) |
| Check whether interface data have changed, if so, then set new interface data and return true. | |
| template<class Data , typename Selector > | |
| bool | gotNewInterfaceData (mutex &M, const Data &D, const Selector &S) |
| Check whether interface data have changed, if so, then set new interface data and return true. | |
| template<class Data , typename Selector > | |
| bool | gotNewInterfaceData (mutex &M, const Data &D, const Selector *S) |
| Check whether interface data have changed, if so, then set new interface data and return true. | |
| template<class Data > | |
| bool | hasChangedInterfaceData (const Data &D) const |
| Check whether interface data have changed. | |
| template<class Data , typename Selector > | |
| bool | hasChangedInterfaceData (const Data &D) const |
| Check whether interface data have changed. | |
| template<class Data , typename Selector > | |
| bool | hasChangedInterfaceData (const Data &D, const Selector &) const |
| Check whether interface data have changed. | |
| template<class Data , typename Selector > | |
| bool | hasChangedInterfaceData (const Data &D, const Selector *) const |
| Check whether interface data have changed. | |
| bool | hasInterface (const type_info &t) const |
| Check if some Interface might exist. | |
| Intercube () | |
| Constructor. | |
| bool | iterateInterfaces (const RefPtr< InterfaceIterationParameter > &IIP) |
| Modifyable iterator. | |
| void | printInterfaces () const |
| Debug function that prints the names of all interfaces. | |
| void | registerInterface (const type_info &t) |
| Register an interface type; when the interface is actually required, the virtual createInterface() function will be called. | |
| template<class InterfaceType > | |
| void | removeInterface () |
| Remove an interface. | |
| void | removeInterfaceBase (const type_info &InterfaceBaseID) |
| Remove an interface. | |
| virtual | ~Intercube () |
| Destructor. | |
Public Attributes | |
| Eagle::PhysicalSpace::tvector | TranslationVector |
| An optional property of a VBO that tells that the coordinates used here have to be shifted by a certain amount during data loading for all positional fields. | |
Additional Inherited Members | |
Public Types inherited from MemCore::Cacheable | |
| using | cachecounter_t = unsigned long |
| The type to store repeated accesses to a cached object. | |
Public Types inherited from MemCore::ReferenceBase< Cacheable > | |
| using | reference_domain_t = Cacheable |
| The type of the base class. | |
| using | SelfPtr_t = WeakPtr< Cacheable, Cacheable > |
| Type for a pointer to this object itself. | |
Static Public Member Functions inherited from MemCore::Ageable | |
| static const Ageable & | InfinitelyNew () noexcept |
| Return a time that is infinitely in the future (well, sort of). | |
| static constexpr const Ageable & | InfinitelyOld () noexcept |
| Return a time that is infinitely in the past (well, sort of). | |
| static age_t | now () noexcept |
| Return the current global time. | |
Protected Member Functions inherited from MemCore::MutableCacheable | |
| ~MutableCacheable () | |
| Destructor. | |
Protected Member Functions inherited from MemCore::Cacheable | |
| void | adjustCacheableSize (memsize_t memDiff) |
| In case this object changes its size after insertion to the CacheQueue, call this function to adjust. | |
| ~Cacheable () | |
| Destructor. | |
Protected Member Functions inherited from MemCore::ReferenceBase< Cacheable > | |
| virtual void | extremeUnction () |
| A virtual function that will be called just before the object is destroyed. | |
| ReferenceBase & | operator= (const ReferenceBase &R) |
| Protected assignment operator (should not be called). | |
| void | suicide () |
| Delete this. | |
| virtual | ~ReferenceBase () |
| Virtual destructor. | |
A vertex buffer object, encompassing many vertex buffer arrays and a rendering routine with pre- and post execution code.
| bool Wizt::VBO::append | ( | const RefPtr< BufferArray > & | BA | ) |
Append a vertex array attribute.
It will be included during rendering. See child classes of BufferArray for details.
The number of elements in the proviced BufferArray must be identical to the NumberOfElements() of all others. If this is not the case, a BufferArray::Inconsistency exception will be thrown.
References MemCore::MutableCacheable::adjustCurrentMemsize(), NumberOfElements(), and Wizt::String().
| bool Wizt::VBO::call | ( | ) | const |
Call the rendering routine of this vertex buffer object.
Activates all attribute arrays and calls the renderer's draw() routine.
| size_t Wizt::VBO::NumberOfElements | ( | ) | const |
Determine the number of elements that this VBO handles.
This number will be non-zero only if a BufferArray with loaded data has been appended here, and it is supposed to be consistent for all BufferArrays that live in this VBO. If not, a BufferArray::Inconsistency exception will be thrown in the append() function.
Referenced by append().
| Eagle::PhysicalSpace::tvector Wizt::VBO::TranslationVector |
An optional property of a VBO that tells that the coordinates used here have to be shifted by a certain amount during data loading for all positional fields.
This functionality is required to address issues of large coordinates where OpenGL rendering runs out of accuracy. See class FloatOrigin for more information on this issue.