Inviwo 0.9.12-pre
Inviwo documentation
|
Public Member Functions | |
LayerRAM * | clone () const override=0 |
virtual bool | copyRepresentationsTo (LayerRepresentation *) const override |
virtual void * | getData ()=0 |
virtual const void * | getData () const =0 |
virtual void | setData (void *data, size2_t dimensions)=0 |
virtual double | getAsDouble (const size2_t &pos) const =0 |
virtual dvec2 | getAsDVec2 (const size2_t &pos) const =0 |
virtual dvec3 | getAsDVec3 (const size2_t &pos) const =0 |
virtual dvec4 | getAsDVec4 (const size2_t &pos) const =0 |
virtual void | setFromDouble (const size2_t &pos, double val)=0 |
virtual void | setFromDVec2 (const size2_t &pos, dvec2 val)=0 |
virtual void | setFromDVec3 (const size2_t &pos, dvec3 val)=0 |
virtual void | setFromDVec4 (const size2_t &pos, dvec4 val)=0 |
virtual double | getAsNormalizedDouble (const size2_t &pos) const =0 |
virtual dvec2 | getAsNormalizedDVec2 (const size2_t &pos) const =0 |
virtual dvec3 | getAsNormalizedDVec3 (const size2_t &pos) const =0 |
virtual dvec4 | getAsNormalizedDVec4 (const size2_t &pos) const =0 |
virtual void | setFromNormalizedDouble (const size2_t &pos, double val)=0 |
virtual void | setFromNormalizedDVec2 (const size2_t &pos, dvec2 val)=0 |
virtual void | setFromNormalizedDVec3 (const size2_t &pos, dvec3 val)=0 |
virtual void | setFromNormalizedDVec4 (const size2_t &pos, dvec4 val)=0 |
virtual std::type_index | getTypeIndex () const override final |
template<typename Result , template< class > class Predicate = dispatching::filter::All, typename Callable , typename... Args> | |
auto | dispatch (Callable &&callable, Args &&... args) -> Result |
template<typename Result , template< class > class Predicate = dispatching::filter::All, typename Callable , typename... Args> | |
auto | dispatch (Callable &&callable, Args &&... args) const -> Result |
Public Member Functions inherited from inviwo::LayerRepresentation | |
LayerType | getLayerType () const |
virtual const DataFormatBase * | getDataFormat () const =0 |
std::string_view | getDataFormatString () const |
DataFormatId | getDataFormatId () const |
virtual void | setDimensions (size2_t dimensions)=0 |
virtual const size2_t & | getDimensions () const =0 |
virtual void | setSwizzleMask (const SwizzleMask &mask)=0 |
update the swizzle mask of the channels for sampling color layers Needs to be overloaded by child classes. | |
virtual SwizzleMask | getSwizzleMask () const =0 |
virtual void | setInterpolation (InterpolationType interpolation)=0 |
update the interpolation for sampling layer Needs to be overloaded by child classes. | |
virtual InterpolationType | getInterpolation () const =0 |
virtual void | setWrapping (const Wrapping2D &wrapping)=0 |
Update the wrapping type of the layer Needs to be overloaded by child classes. | |
virtual Wrapping2D | getWrapping () const =0 |
LayerReprConfig | config () const |
Public Member Functions inherited from inviwo::DataRepresentation< Layer > | |
void | setOwner (const Layer *owner) |
const Layer * | getOwner () const |
bool | isValid () const |
void | setValid (bool valid) |
virtual void | updateResource (const ResourceMeta &) const |
Static Public Member Functions | |
static size_t | posToIndex (const size2_t &pos, const size2_t &dim) |
Protected Member Functions | |
LayerRAM (LayerType type=LayerType::Color) | |
LayerRAM (const LayerRAM &rhs)=default | |
LayerRAM & | operator= (const LayerRAM &that)=default |
Protected Member Functions inherited from inviwo::LayerRepresentation | |
LayerRepresentation (LayerType type=LayerType::Color) | |
LayerRepresentation (const LayerRepresentation &rhs)=default | |
LayerRepresentation & | operator= (const LayerRepresentation &that)=default |
Protected Member Functions inherited from inviwo::DataRepresentation< Layer > | |
DataRepresentation (const DataRepresentation &rhs)=default | |
DataRepresentation & | operator= (const DataRepresentation &that)=default |
Additional Inherited Members | |
Public Types inherited from inviwo::DataRepresentation< Layer > | |
using | ReprOwner |
Protected Attributes inherited from inviwo::LayerRepresentation | |
LayerType | layerType_ |
Protected Attributes inherited from inviwo::DataRepresentation< Layer > | |
bool | isValid_ |
const Layer * | owner_ |
|
overridepure virtual |
Implements inviwo::LayerRepresentation.
|
overridevirtual |
Copy and resize the representations of this onto the target.
Implements inviwo::LayerRepresentation.
auto inviwo::LayerRAM::dispatch | ( | Callable && | callable, |
Args &&... | args ) -> Result |
Dispatch functionality to retrieve the actual underlaying LayerRamPrecision. The dispatcher takes a generic lambda as argument. Code will be instantiated for all the DataFormat types by default. But by suppling the template Predicate
argument the list of formats to instantiate can be filtered. Hence if one knows that only Vector types are applicable there is no need to write generic code that also works for scalars.
Example of counting the number of elements larger then 0:
dispatching::filter
namespace have a few standard ones predefined.callable | This should be a generic lambda or a struct with a generic call operator. it will be called with the specific LayerRAMPrecision<T> as the first argument and any additional arguments (args ) appended to that. |
args | Any additional arguments that should be passed on to the lambda. |
dispatching::DispatchException | in the case that the format of the buffer is not in the list of formats after the filtering. |
auto inviwo::LayerRAM::dispatch | ( | Callable && | callable, |
Args &&... | args ) const -> Result |
Const overload. Callable will be called with a const LayerRamPresision<T> pointer.
|
finaloverridevirtual |
Implements inviwo::DataRepresentation< Layer >.