OpenVDB 12.1.0
Loading...
Searching...
No Matches
Metadata Class Referenceabstract

Base class for storing metadata information in a grid. More...

#include <openvdb/Metadata.h>

Inheritance diagram for Metadata:
TypedMetadata< bool > TypedMetadata< double > TypedMetadata< float > TypedMetadata< int32_t > TypedMetadata< int64_t > TypedMetadata< std::string > TypedMetadata< Vec2d > TypedMetadata< Vec2i > TypedMetadata< Vec2s > TypedMetadata< Vec3d > TypedMetadata< Vec3i > TypedMetadata< Vec3s > TypedMetadata< Vec4d > TypedMetadata< Vec4i > TypedMetadata< Vec4s > TypedMetadata< Mat4s > TypedMetadata< Mat4d > TypedMetadata< T > UnknownMetadata DelayedLoadMetadata

Public Types

using Ptr = SharedPtr<Metadata>
using ConstPtr = SharedPtr<const Metadata>

Public Member Functions

 Metadata ()
virtual ~Metadata ()
 Metadata (const Metadata &)=delete
Metadataoperator= (const Metadata &)=delete
virtual Name typeName () const =0
 Return the type name of the metadata.
virtual Metadata::Ptr copy () const =0
 Return a copy of the metadata.
virtual void copy (const Metadata &other)=0
 Copy the given metadata into this metadata.
virtual std::string str () const =0
 Return a textual representation of this metadata.
virtual bool asBool () const =0
bool operator== (const Metadata &other) const
 Return true if the given metadata is equivalent to this metadata.
bool operator!= (const Metadata &other) const
 Return true if the given metadata is different from this metadata.
virtual Index32 size () const =0
 Return the size of this metadata in bytes.
void read (std::istream &)
 Unserialize this metadata from a stream.
void write (std::ostream &) const
 Serialize this metadata to a stream.

Static Public Member Functions

static Metadata::Ptr createMetadata (const Name &typeName)
 Create new metadata of the given type.
static bool isRegisteredType (const Name &typeName)
 Return true if the given type is known by the metadata type registry.
static void clearRegistry ()
 Clear out the metadata registry.
static void registerType (const Name &typeName, Metadata::Ptr(*createMetadata)())
 Register the given metadata type along with a factory function.
static void unregisterType (const Name &typeName)

Protected Member Functions

void writeSize (std::ostream &) const
 Write the size of the metadata to a stream.
virtual void readValue (std::istream &, Index32 numBytes)=0
 Read the metadata from a stream.
virtual void writeValue (std::ostream &) const =0
 Write the metadata to a stream.

Static Protected Member Functions

static Index32 readSize (std::istream &)
 Read the size of the metadata from a stream.

Detailed Description

Base class for storing metadata information in a grid.

Member Typedef Documentation

◆ ConstPtr

using ConstPtr = SharedPtr<const Metadata>

◆ Ptr

Constructor & Destructor Documentation

◆ Metadata() [1/2]

Metadata ( )
inline

◆ ~Metadata()

virtual ~Metadata ( )
inlinevirtual

◆ Metadata() [2/2]

Metadata ( const Metadata & )
delete

Member Function Documentation

◆ asBool()

◆ clearRegistry()

void clearRegistry ( )
static

Clear out the metadata registry.

◆ copy() [1/2]

◆ copy() [2/2]

◆ createMetadata()

Metadata::Ptr createMetadata ( const Name & typeName)
static

Create new metadata of the given type.

◆ isRegisteredType()

bool isRegisteredType ( const Name & typeName)
static

Return true if the given type is known by the metadata type registry.

◆ operator!=()

bool operator!= ( const Metadata & other) const
inline

Return true if the given metadata is different from this metadata.

◆ operator=()

Metadata & operator= ( const Metadata & )
delete

◆ operator==()

bool operator== ( const Metadata & other) const

Return true if the given metadata is equivalent to this metadata.

◆ read()

void read ( std::istream & is)
inline

Unserialize this metadata from a stream.

◆ readSize()

Index32 readSize ( std::istream & is)
inlinestaticprotected

Read the size of the metadata from a stream.

◆ readValue()

◆ registerType()

void registerType ( const Name & typeName,
Metadata::Ptr(* createMetadata )() )
static

Register the given metadata type along with a factory function.

◆ size()

◆ str()

virtual std::string str ( ) const
pure virtual

Return a textual representation of this metadata.

Implemented in TypedMetadata< T >, TypedMetadata< T >, DelayedLoadMetadata, TypedMetadata< T >, TypedMetadata< T >, TypedMetadata< bool >, TypedMetadata< bool >, TypedMetadata< bool >, TypedMetadata< bool >, TypedMetadata< double >, TypedMetadata< double >, TypedMetadata< double >, TypedMetadata< double >, TypedMetadata< float >, TypedMetadata< float >, TypedMetadata< float >, TypedMetadata< float >, TypedMetadata< int32_t >, TypedMetadata< int32_t >, TypedMetadata< int32_t >, TypedMetadata< int32_t >, TypedMetadata< int64_t >, TypedMetadata< int64_t >, TypedMetadata< int64_t >, TypedMetadata< int64_t >, TypedMetadata< Mat4d >, TypedMetadata< Mat4d >, TypedMetadata< Mat4d >, TypedMetadata< Mat4d >, TypedMetadata< Mat4s >, TypedMetadata< Mat4s >, TypedMetadata< Mat4s >, TypedMetadata< Mat4s >, TypedMetadata< std::string >, TypedMetadata< std::string >, TypedMetadata< std::string >, TypedMetadata< std::string >, TypedMetadata< Vec2d >, TypedMetadata< Vec2d >, TypedMetadata< Vec2d >, TypedMetadata< Vec2d >, TypedMetadata< Vec2i >, TypedMetadata< Vec2i >, TypedMetadata< Vec2i >, TypedMetadata< Vec2i >, TypedMetadata< Vec2s >, TypedMetadata< Vec2s >, TypedMetadata< Vec2s >, TypedMetadata< Vec2s >, TypedMetadata< Vec3d >, TypedMetadata< Vec3d >, TypedMetadata< Vec3d >, TypedMetadata< Vec3d >, TypedMetadata< Vec3i >, TypedMetadata< Vec3i >, TypedMetadata< Vec3i >, TypedMetadata< Vec3i >, TypedMetadata< Vec3s >, TypedMetadata< Vec3s >, TypedMetadata< Vec3s >, TypedMetadata< Vec3s >, TypedMetadata< Vec4d >, TypedMetadata< Vec4d >, TypedMetadata< Vec4d >, TypedMetadata< Vec4d >, TypedMetadata< Vec4i >, TypedMetadata< Vec4i >, TypedMetadata< Vec4i >, TypedMetadata< Vec4i >, TypedMetadata< Vec4s >, TypedMetadata< Vec4s >, TypedMetadata< Vec4s >, TypedMetadata< Vec4s >, and UnknownMetadata.

◆ typeName()

◆ unregisterType()

void unregisterType ( const Name & typeName)
static

◆ write()

void write ( std::ostream & os) const
inline

Serialize this metadata to a stream.

◆ writeSize()

void writeSize ( std::ostream & os) const
inlineprotected

Write the size of the metadata to a stream.

◆ writeValue()