The Vish Visualization Shell 0.3
Vish
Public Types | Public Member Functions | Public Attributes | List of all members
Wizt::RenderBasin::TypedRenderParameter< Type > Struct Template Reference

Helper class for implementations of render parameters that operate on one specific type. More...

#include <ocean/Anemonia/RenderBasin.hpp>

Inheritance diagram for Wizt::RenderBasin::TypedRenderParameter< Type >:
Wizt::RenderBasin::RenderParameter Wizt::Anemone::SpecializedTentacle< Anemone::Variables > Wizt::Anemone::Tentacle MemCore::ReferenceBase< Tentacle >

Public Types

enum  { N = Eagle::MetaInfo<Type>::MULTIPLICITY }
 
typedef Eagle::MetaInfo< Type >::element_t T
 The elementary type.
 
- Public Types inherited from MemCore::ReferenceBase< Tentacle >
using reference_domain_t = Tentacle
 The type of the base class.
 
using SelfPtr_t = WeakPtr< Tentacle, Tentacle >
 Type for a pointer to this object itself.
 

Public Member Functions

bool deactivate (const Anemone &) override
 Deactivate this tentacle (does nothing)
 
bool modify (const void *data, const std::type_info &type, int Multiplicity) override
 virtual modify function
 
 TypedRenderParameter (const Type &data)
 Initialize.
 
- Public Member Functions inherited from Wizt::RenderBasin::RenderParameter
template<class Type >
bool modify (const Type &Data)
 Modify a render parameter's value that is a scalar type.
 
bool updateValue (VRenderContext &Context) override
 Implement Anemone's tentacle updateValue(), which will be invoked by Anemone::updateValues() .
 
- Public Member Functions inherited from Wizt::Anemone::Tentacle
virtual bool activate (const Anemone &)=0
 Activate this tentacle.
 
virtual const char * getSamplerType () const
 If this tentacle refers to some texture sampler in a shader, then hereby return the type of this sampler is it occurs in the code.
 
virtual int getTextureUnit () const
 Get the texture unit number which was specified during construction, if positive then it refers to some texture unit that is used in an associated shader.
 
virtual size_t memsize () const
 Return the memory occupied by this buffer if it occupies memory at all. Otherwise, returns 0 (default).
 
virtual size_t NumberOfElements () const
 Returns the number of elements provided and used by this object, if it refers to countable elements.
 
- Public Member Functions inherited from MemCore::ReferenceBase< Tentacle >
auto getObjectCountID () const noexcept
 Get a unique ID for this object in the given domain.
 
bool isIdentical (const WeakPtr< Tentacle, Tentacle > &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 (Tentacle *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 Attributes

T Data [N]
 The data values used last.
 
- Public Attributes inherited from Wizt::Anemone::Tentacle
Activity_t Activity
 A bit mask telling whether this tentacle should participate in the waving of an Anemone.
 

Additional Inherited Members

- Protected Member Functions inherited from MemCore::ReferenceBase< Tentacle >
virtual void extremeUnction ()
 A virtual function that will be called just before the object is destroyed.
 
ReferenceBaseoperator= (const ReferenceBase &R)
 Protected assignment operator (should not be called).
 
void suicide ()
 Delete this.
 
virtual ~ReferenceBase ()
 Virtual destructor.
 

Detailed Description

template<typename Type>
struct Wizt::RenderBasin::TypedRenderParameter< Type >

Helper class for implementations of render parameters that operate on one specific type.

This class is not useful for application code but is beneficial for implementations of a VRenderContext.

Just need to implement the function

bool activate(const Anemone&A) override;
virtual bool activate(const Anemone &)=0
Activate this tentacle.
Abstract object for elementary render objects.
Definition Anemone.hpp:39

in a child class implementing a render parameter.

Member Enumeration Documentation

◆ anonymous enum

template<typename Type >
anonymous enum
Enumerator

The number of elements.

Member Data Documentation

◆ Data

template<typename Type >
T Wizt::RenderBasin::TypedRenderParameter< Type >::Data[N]

The data values used last.

These values can be modified anytime and will be used during next rendering. The modify() function does the same via a virtual function.