vsg: vsg::Array2D< T > Class Template Reference

vsg 1.1.9 VulkanSceneGraph library |

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
vsg::Array2D< T > Class Template Reference
Inheritance diagram for vsg::Array2D< T >:
[legend]
Collaboration diagram for vsg::Array2D< T >:
[legend]

## Public Types
using | value_type = T
using | iterator = stride_iterator<value_type>
using | const_iterator = stride_iterator<const value_type>
Public Types inherited from vsg::Data
using | MipmapOffsets = std::vector<size_t>
using | Layout = Properties
| deprecated: provided for backwards compatibility, use Properties instead.

## Public Member Functions
| Array2D (const Array2D &rhs, const CopyOp copyop={})
| Array2D (uint32_t width, uint32_t height, Properties in_properties={})
| Array2D (uint32_t width, uint32_t height, value_type *data, Properties in_properties={})
| Array2D (uint32_t width, uint32_t height, const value_type &value, Properties in_properties={})
| Array2D (ref_ptr< Data > data, uint32_t offset, uint32_t stride, uint32_t width, uint32_t height, Properties in_properties={})
ref_ptr< Object > | clone (const CopyOp &copyop={}) const override
size_t | sizeofObject () const noexcept override
const char * | className () const noexcept override
const std::type_info & | type_info () const noexcept override
| return the std::type_info of this Object
bool | is_compatible (const std::type_info &type) const noexcept override
void | accept (Visitor &visitor) override
void | accept (ConstVisitor &visitor) const override
void | read (Input &input) override
void | write (Output &output) const override
size_t | size () const
bool | available () const
bool | empty () const
void | clear ()
Array2D & | operator= (const Array2D &rhs)
void | assign (uint32_t width, uint32_t height, value_type *data, Properties in_properties={})
void | assign (ref_ptr< Data > storage, uint32_t offset, uint32_t stride, uint32_t width, uint32_t height, Properties in_properties={})
void * | dataRelease () override
size_t | valueSize () const override
size_t | valueCount () const override
bool | dataAvailable () const override
size_t | dataSize () const override
void * | dataPointer () override
const void * | dataPointer () const override
void * | dataPointer (size_t i) override
const void * | dataPointer (size_t i) const override
uint32_t | dimensions () const override
uint32_t | width () const override
uint32_t | height () const override
uint32_t | depth () const override
value_type * | data ()
const value_type * | data () const
value_type * | data (size_t i)
const value_type * | data (size_t i) const
size_t | index (uint32_t i, uint32_t j) const noexcept
value_type & | operator[] (size_t i)
const value_type & | operator[] (size_t i) const
value_type & | at (size_t i)
const value_type & | at (size_t i) const
value_type & | operator() (uint32_t i, uint32_t j)
const value_type & | operator() (uint32_t i, uint32_t j) const
value_type & | at (uint32_t i, uint32_t j)
const value_type & | at (uint32_t i, uint32_t j) const
void | set (size_t i, const value_type &v)
void | set (uint32_t i, uint32_t j, const value_type &v)
Data * | storage ()
const Data * | storage () const
iterator | begin ()
const_iterator | begin () const
iterator | end ()
const_iterator | end () const
Public Member Functions inherited from vsg::Data
| 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
bool | contiguous () const
uint32_t | stride () const
MipmapOffsets | computeMipmapOffsets () 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 | 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 &)
template<class T>
T * | cast ()
template<class T>
const T * | cast () const
virtual void | traverse (Visitor &)
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
template<typename... Args>
static ref_ptr< Array2D > | create (Args &&... args)
Static Public Member Functions inherited from vsg::Data
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 size_t | computeValueCountIncludingMipmaps (size_t w, size_t h, size_t d, uint32_t maxNumMipmaps)
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)

## Protected Member Functions
value_type * | _allocate (size_t size) const
void | _delete ()
Protected Member Functions inherited from vsg::Object
virtual void | _attemptDelete () const
void | setAuxiliary (Auxiliary *auxiliary)

## Additional Inherited Members
Public Attributes inherited from vsg::Data
Properties | properties
| properties of the data such as format, origin, stride, dataVariance etc.
Protected Attributes inherited from vsg::Data
ModifiedCount | _modifiedCount

## Member Function Documentation

## ◆ accept() [1/2]

template<typename T>

void vsg::Array2D< T >::accept | ( | ConstVisitor & | visitor | ) | const
| overridevirtual

Reimplemented from vsg::Object.

## ◆ accept() [2/2]

template<typename T>

void vsg::Array2D< T >::accept | ( | Visitor & | visitor | ) |
| overridevirtual

Reimplemented from vsg::Object.

## ◆ className()

template<typename T>

const char * vsg::Array2D< T >::className | ( |  | ) | const
| inlineoverridevirtualnoexcept

Reimplemented from vsg::Object.

## ◆ clone()

template<typename T>

ref_ptr< Object > vsg::Array2D< T >::clone | ( | const CopyOp & | copyop = {} | ) | const
| inlineoverridevirtual

clone this object using CopyOp's duplicates map to decide whether to clone or to return the original object. The default clone(CopyOp&) implementation simply returns ref_ptr<> to this object rather attempt to clone.

Reimplemented from vsg::Object.

## ◆ dataAvailable()

template<typename T>

bool vsg::Array2D< T >::dataAvailable | ( |  | ) | const
| inlineoverridevirtual

Implements vsg::Data.

## ◆ dataPointer() [1/4]

template<typename T>

const void * vsg::Array2D< T >::dataPointer | ( |  | ) | const
| inlineoverridevirtual

Implements vsg::Data.

## ◆ dataPointer() [2/4]

template<typename T>

void * vsg::Array2D< T >::dataPointer | ( |  | ) |
| inlineoverridevirtual

Implements vsg::Data.

## ◆ dataPointer() [3/4]

template<typename T>

const void * vsg::Array2D< T >::dataPointer | ( | size_t | i | ) | const
| inlineoverridevirtual

Implements vsg::Data.

## ◆ dataPointer() [4/4]

template<typename T>

void * vsg::Array2D< T >::dataPointer | ( | size_t | i | ) |
| inlineoverridevirtual

Implements vsg::Data.

## ◆ dataRelease()

template<typename T>

void * vsg::Array2D< T >::dataRelease | ( |  | ) |
| inlineoverridevirtual

Implements vsg::Data.

## ◆ dataSize()

template<typename T>

size_t vsg::Array2D< T >::dataSize | ( |  | ) | const
| inlineoverridevirtual

Implements vsg::Data.

## ◆ depth()

template<typename T>

uint32_t vsg::Array2D< T >::depth | ( |  | ) | const
| inlineoverridevirtual

Implements vsg::Data.

## ◆ dimensions()

template<typename T>

uint32_t vsg::Array2D< T >::dimensions | ( |  | ) | const
| inlineoverridevirtual

Implements vsg::Data.

## ◆ height()

template<typename T>

uint32_t vsg::Array2D< T >::height | ( |  | ) | const
| inlineoverridevirtual

Implements vsg::Data.

## ◆ is_compatible()

template<typename T>

bool vsg::Array2D< T >::is_compatible | ( | const std::type_info & | type | ) | const
| inlineoverridevirtualnoexcept

Reimplemented from vsg::Object.

## ◆ read()

template<typename T>

void vsg::Array2D< T >::read | ( | Input & | input | ) |
| inlineoverridevirtual

Reimplemented from vsg::Object.

## ◆ sizeofObject()

template<typename T>

size_t vsg::Array2D< T >::sizeofObject | ( |  | ) | const
| inlineoverridevirtualnoexcept

Reimplemented from vsg::Object.

## ◆ type_info()

template<typename T>

const std::type_info & vsg::Array2D< T >::type_info | ( |  | ) | const
| inlineoverridevirtualnoexcept

return the std::type_info of this Object

Reimplemented from vsg::Object.

## ◆ valueCount()

template<typename T>

size_t vsg::Array2D< T >::valueCount | ( |  | ) | const
| inlineoverridevirtual

Implements vsg::Data.

## ◆ valueSize()

template<typename T>

size_t vsg::Array2D< T >::valueSize | ( |  | ) | const
| inlineoverridevirtual

Implements vsg::Data.

## ◆ width()

template<typename T>

uint32_t vsg::Array2D< T >::width | ( |  | ) | const
| inlineoverridevirtual

Implements vsg::Data.

## ◆ write()

template<typename T>

void vsg::Array2D< T >::write | ( | Output & | output | ) | const
| inlineoverridevirtual

Reimplemented from vsg::Object.

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

- include/vsg/core/Array2D.h
- include/vsg/core/ConstVisitor.h
- include/vsg/core/Visitor.h