AGX Dynamics 2.42.1.1
Loading...
Searching...
No Matches
agxData::BinaryData Class Reference

#include <BinaryData.h>

+ Inheritance diagram for agxData::BinaryData:

Public Types

enum  DataAllocationType {
  DATA_IS_MALLOCED , DATA_IS_NEWED , DATA_IS_ARRAY , DATA_IS_STATIC ,
  DATA_IS_ALIGNED
}
 

Public Member Functions

 BinaryData ()
 
 BinaryData (Byte *data, size_t size, agx::Referenced *reference)
 
 BinaryData (Byte *data, size_t size, DataAllocationType allocationType)
 Create a binary data that is a handle to an externally allocated memory area.
 
 BinaryData (size_t size)
 
 BinaryData (size_t size, size_t alignment)
 
ByteStream getByteStream ()
 
const ByteStream getByteStream () const
 
Byteptr ()
 
template<typename T >
T * ptr ()
 
const Byteptr () const
 
template<typename T >
const T * ptr () const
 
void setApparentSize (size_t size)
 Change the size that will be returned by calls to 'size()'.
 
size_t size () const
 
- Public Member Functions inherited from agx::Referenced
 Referenced ()
 Default constructor.
 
 Referenced (const Referenced &)
 
template<typename T >
T * as ()
 Subclass casting.
 
template<typename T >
const T * as () const
 
template<typename T >
T * asSafe ()
 Safe subclass casting, return nullptr if template type does not match.
 
template<typename T >
const T * asSafe () const
 
int getReferenceCount () const
 
template<typename T >
bool is () const
 Subclass test.
 
Referencedoperator= (const Referenced &)
 Assignment operator. Will increment the number of references to the referenced object.
 
void reference (void *ptr=nullptr) const
 Explicitly increment the reference count by one, indicating that this object has another pointer which is referencing it.
 
void unreference (void *ptr=nullptr) const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 
void unreference_nodelete () const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 

Static Public Member Functions

static BinaryDatacopy (const Byte *data, size_t size)
 Create a BinaryData that contains a copy of the given memory area.
 
static BinaryDatareadFromFile (const agx::String &path)
 Load binary data from a file.
 
- Static Public Member Functions inherited from agx::Referenced
template<typename T >
static bool ValidateCast (const Referenced *object)
 

Protected Member Functions

 ~BinaryData ()
 
- Protected Member Functions inherited from agx::Referenced
virtual ~Referenced ()
 Destructor.
 
void allocateObserverVector () const
 
void deleteUsingDeleteHandler () const
 

Additional Inherited Members

- Static Protected Member Functions inherited from agx::Referenced
static DeleteHandlergetDeleteHandler ()
 
static void setDeleteHandler (DeleteHandler *handler)
 Internal: Set a DeleteHandler to which deletion of all referenced counted objects will be delegated to.
 
- Protected Attributes inherited from agx::Referenced
Mutex m_mutex
 
ObserverContainer m_observers
 
AtomicValue m_refCount
 

Detailed Description

Definition at line 33 of file BinaryData.h.

Member Enumeration Documentation

◆ DataAllocationType

Enumerator
DATA_IS_MALLOCED 
DATA_IS_NEWED 
DATA_IS_ARRAY 
DATA_IS_STATIC 
DATA_IS_ALIGNED 

Definition at line 37 of file BinaryData.h.

Constructor & Destructor Documentation

◆ BinaryData() [1/5]

agxData::BinaryData::BinaryData ( )

◆ BinaryData() [2/5]

agxData::BinaryData::BinaryData ( size_t  size)

◆ BinaryData() [3/5]

agxData::BinaryData::BinaryData ( size_t  size,
size_t  alignment 
)

◆ BinaryData() [4/5]

agxData::BinaryData::BinaryData ( Byte data,
size_t  size,
DataAllocationType  allocationType 
)

Create a binary data that is a handle to an externally allocated memory area.

The given memory area will be deallocated according to the instruction implied by the given 'allocationType'. To avoid deallocation, pass DATA_IS_STATIC.

Parameters
allocationTypeThe way the BinaryData should treat allocation/deallocation of the data.
sizeThe size of the memory block, in bytes.
dataPointer to the data. Pass 0 to have the constructor do the allocation.

◆ BinaryData() [5/5]

agxData::BinaryData::BinaryData ( Byte data,
size_t  size,
agx::Referenced reference 
)

◆ ~BinaryData()

agxData::BinaryData::~BinaryData ( )
protected

Member Function Documentation

◆ copy()

static BinaryData * agxData::BinaryData::copy ( const Byte data,
size_t  size 
)
static

Create a BinaryData that contains a copy of the given memory area.

◆ getByteStream() [1/2]

ByteStream agxData::BinaryData::getByteStream ( )
Returns
The data as a byte stream.

Definition at line 130 of file BinaryData.h.

◆ getByteStream() [2/2]

const ByteStream agxData::BinaryData::getByteStream ( ) const

Definition at line 131 of file BinaryData.h.

◆ ptr() [1/4]

Byte * agxData::BinaryData::ptr ( )
Returns
The generic data.

Definition at line 128 of file BinaryData.h.

◆ ptr() [2/4]

template<typename T >
T * agxData::BinaryData::ptr

Definition at line 134 of file BinaryData.h.

◆ ptr() [3/4]

const Byte * agxData::BinaryData::ptr ( ) const

Definition at line 129 of file BinaryData.h.

◆ ptr() [4/4]

template<typename T >
const T * agxData::BinaryData::ptr

Definition at line 137 of file BinaryData.h.

◆ readFromFile()

static BinaryData * agxData::BinaryData::readFromFile ( const agx::String path)
static

Load binary data from a file.

◆ setApparentSize()

void agxData::BinaryData::setApparentSize ( size_t  size)

Change the size that will be returned by calls to 'size()'.

The memory buffer remains unchanged, so use with care.

◆ size()

size_t agxData::BinaryData::size ( ) const
Returns
The size in bytes

Definition at line 126 of file BinaryData.h.


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