vsg: vsg::Data Class Reference

vsg 1.1.13 VulkanSceneGraph library

Loading...
Searching...
No Matches
vsg::Data Class Referenceabstract

`#include <Data.h>`

Inheritance diagram for vsg::Data:
[legend]
Collaboration diagram for vsg::Data:
[legend]

## Classes
struct | Properties

## Public Types
using | Layout = Properties
| deprecated: provided for backwards compatibility, use Properties instead.

## Public Member Functions
| Data (const Data &data, const CopyOp &copyop={})
| Data (Properties layout)
| Data (Properties layout, uint32_t min_stride)
size_t | sizeofObject () const noexcept override
bool | is_compatible (const std::type_info &type) const noexcept override
int | compare (const Object &rhs_object) const override
| compare two objects, return -1 if this object is less than rhs, return 0 if it's equal, return 1 if rhs is greater,
void | read (Input &input) override
void | write (Output &output) const override
bool | dynamic () const
virtual size_t | valueSize () const =0
virtual size_t | valueCount () const =0
virtual bool | dataAvailable () const =0
virtual size_t | dataSize () const =0
virtual void * | dataPointer ()=0
virtual const void * | dataPointer () const =0
virtual void * | dataPointer (size_t index)=0
virtual const void * | dataPointer (size_t index) const =0
virtual void * | dataRelease ()=0
virtual uint32_t | dimensions () const =0
virtual uint32_t | width () const =0
virtual uint32_t | height () const =0
virtual uint32_t | depth () const =0
std::tuple< uint32_t, uint32_t, uint32_t > | pixelExtents () const
| return the {width, height, depth} pixel extents of an image accounting for blockWidth and any mipmapData assigned to image.
bool | contiguous () const
uint32_t | stride () const
size_t | computeValueCountIncludingMipmaps () const
void | dirty ()
| increment the ModifiedCount to signify the data has been modified
bool | getModifiedCount (ModifiedCount &mc) const
| get the Data's ModifiedCount and return true if this changes the specified ModifiedCount
bool | differentModifiedCount (const ModifiedCount &mc) const
| return true if Data's ModifiedCount is different from the specified ModifiedCount
void | setMipmapLayout (MipmapLayout *mipmapData)
| set the MipmapLayout, only required when the data contains mipmaps that use block compressed formats and the pixels size doesn't fit exactly to the block size.
const MipmapLayout * | getMipmapLayout () const
| get the MipmapLayout if assigned.
void | setLayout (Layout layout)
| deprecated: use data->properties = properties instead.
Layout & | getLayout ()
| deprecated: use data->properties
Layout | getLayout () const
| deprecated: use data->properties
Public Member Functions inherited from vsg::Object
| Object (const Object &object, const CopyOp &copyop={})
Object & | operator= (const Object &)
virtual const char * | className () const noexcept
virtual const std::type_info & | type_info () const noexcept
| return the std::type_info of this Object
template<class T>
T * | cast ()
template<class T>
const T * | cast () const
virtual ref_ptr< Object > | clone (const CopyOp &copyop={}) const
virtual void | accept (Visitor &visitor)
virtual void | traverse (Visitor &)
virtual void | accept (ConstVisitor &visitor) const
virtual void | traverse (ConstVisitor &) const
virtual void | accept (RecordTraversal &visitor) const
virtual void | traverse (RecordTraversal &) const
void | ref () const noexcept
void | unref () const noexcept
void | unref_nodelete () const noexcept
unsigned int | referenceCount () const noexcept
template<typename T>
void | setValue (const std::string &key, const T &value)
void | setValue (const std::string &key, const char *value)
| specialization of setValue to handle passing C strings
template<typename T>
bool | getValue (const std::string &key, T &value) const
| get specified value type, return false if value associated with key is not assigned or is not the correct type
void | setObject (const std::string &key, ref_ptr< Object > object)
| assign an Object associated with key
Object * | getObject (const std::string &key)
| get Object pointer associated with key, return nullptr if no object associated with key has been assigned
const Object * | getObject (const std::string &key) const
| get const Object pointer associated with key, return nullptr if no object associated with key has been assigned
template<class T>
T * | getObject (const std::string &key)
| get object pointer of specified type associated with key, return nullptr if no object associated with key has been assigned
template<class T>
const T * | getObject (const std::string &key) const
| get const object pointer of specified type associated with key, return nullptr if no object associated with key has been assigned
ref_ptr< Object > | getRefObject (const std::string &key)
| get ref_ptr<Object> associated with key, return nullptr if no object associated with key has been assigned
ref_ptr< const Object > | getRefObject (const std::string &key) const
| get ref_ptr<const Object> pointer associated with key, return nullptr if no object associated with key has been assigned
template<class T>
ref_ptr< T > | getRefObject (const std::string &key)
| get ref_ptr<T> of specified type associated with key, return nullptr if no object associated with key has been assigned
template<class T>
const ref_ptr< const T > | getRefObject (const std::string &key) const
| get ref_ptr<const T> of specified type associated with key, return nullptr if no object associated with key has been assigned
void | removeObject (const std::string &key)
| remove meta object or value associated with key
Auxiliary * | getOrCreateAuxiliary ()
Auxiliary * | getAuxiliary ()
const Auxiliary * | getAuxiliary () const

## Static Public Member Functions
static void * | operator new (size_t count)
| provide new and delete to enable custom memory management via the vsg::Allocator singleton, using the MEMORY_AFFINTY_DATA
static void | operator delete (void *ptr)
Static Public Member Functions inherited from vsg::Object
static ref_ptr< Object > | create ()
static ref_ptr< Object > | create_if (bool flag)
static void * | operator new (std::size_t count)
| provide new and delete to enable custom memory management via the vsg::Allocator singleton, using the MEMORY_AFFINTY_OBJECTS
static void | operator delete (void *ptr)

## Public Attributes
Properties | properties
| properties of the data such as format, origin, stride, dataVariance etc.

## Protected Member Functions
void | _copy (const Data &rhs)
void | _clear ()
Protected Member Functions inherited from vsg::Object
virtual void | _attemptDelete () const
void | setAuxiliary (Auxiliary *auxiliary)

## Protected Attributes
ModifiedCount | _modifiedCount

## Detailed Description

Data base class for abstracting data such as values, vertices, images etc. Main subclasses are vsg::Value, vsg::Array, vsg::Array2D and vsg::Array3D.

## Member Function Documentation

## ◆ compare()

int vsg::Data::compare | ( | const Object & | rhs | ) | const
| overridevirtual

compare two objects, return -1 if this object is less than rhs, return 0 if it's equal, return 1 if rhs is greater,

Reimplemented from vsg::Object.

## ◆ is_compatible()

bool vsg::Data::is_compatible | ( | const std::type_info & | type | ) | const
| inlineoverridevirtualnoexcept

Reimplemented from vsg::Object.

## ◆ read()

void vsg::Data::read | ( | Input & | input | ) |
| overridevirtual

Reimplemented from vsg::Object.

## ◆ sizeofObject()

size_t vsg::Data::sizeofObject | ( |  | ) | const
| inlineoverridevirtualnoexcept

Reimplemented from vsg::Object.

## ◆ write()

void vsg::Data::write | ( | Output & | output | ) | const
| overridevirtual

Reimplemented from vsg::Object.

The documentation for this class was generated from the following file:

- include/vsg/core/Data.h