CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
OdTfVariant Class Reference

#include <TfVariant.h>

Inheritance diagram for OdTfVariant:
OdVariant

Public Types

enum  Type {
  kGUID = OdVariant::kNextType , kEmpty , kDEPRECARED0 , kDbStubPtr ,
  kRxObjectWeakPtr , kTuple , kNextType
}
 
- Public Types inherited from OdVariant
enum  Type {
  kVoid = 0x0000 , kString = 0x0001 , kBool = 0x0002 , kInt8 = 0x0003 ,
  kUInt8 = 0x0003 , kInt16 = 0x0004 , kUInt16 = 0x0004 , kInt32 = 0x0005 ,
  kUInt32 = 0x0005 , kInt64 = 0x0006 , kUInt64 = 0x0006 , kDouble = 0x0007 ,
  kWString = 0x0008 , kAnsiString = 0x0008 , kRxObjectPtr = 0x0009 , kNextType = 0x000A ,
  kByRef = 0x0040 , kArray = 0x0080
}
 

Public Member Functions

bool isEmpty () const
 
bool isVariantArray () const
 
 OdTfVariant ()
 
 OdTfVariant (const OdVariant &value)
 
 OdTfVariant (const OdTfVariant &value)
 
 OdTfVariant (const OdGUID &value)
 
 OdTfVariant (const OdTfVariantTuple &value)
 
 OdTfVariant (OdTfVariant::Type type, const OdTfVariantArray &value)
 
 OdTfVariant (OdDbStub *const value)
 
OdTfVariant & operator= (const OdTfVariant &value)
 
virtual ~OdTfVariant ()
 
const OdGUID & getGUID () const
 
const OdTfVariantArray & getVariantArray () const
 
OdDbStub * getDbStubPtr () const
 
OdRxObject * getRxObjectWeakPtr () const
 
const OdTfVariantTuple & getVariantTuple () const
 
OdTfVariantArray & asVariantArray ()
 
OdTfVariantTuple & asVariantTuple ()
 
OdTfVariant & setGUID (const OdGUID &value)
 
OdTfVariant & setVariantArray (OdTfVariant::Type type, const OdTfVariantArray &value)
 
OdTfVariant & setVariantTuple (const OdTfVariantTuple &value)
 
OdTfVariant & setDbStubPtr (OdDbStub *const value)
 
OdTfVariant & setRxObjectWeakPtr (OdRxObject *const value)
 
- Public Member Functions inherited from OdVariant
 OdVariant ()
 
 OdVariant (const OdVariant &val)
 
OdVariant & operator= (const OdVariant &val)
 
virtual ~OdVariant ()
 
int varType () const
 
Type type () const
 
bool isArray () const
 
bool isByRef () const
 
 OdVariant (const OdString &val)
 
 OdVariant (const OdAnsiString &val)
 
 OdVariant (const OdRxObjectPtr &val)
 
 OdVariant (bool val)
 
 OdVariant (OdInt8 val)
 
 OdVariant (OdUInt8 val)
 
 OdVariant (OdInt16 val)
 
 OdVariant (OdUInt16 val)
 
 OdVariant (OdInt32 val)
 
 OdVariant (OdUInt32 val)
 
 OdVariant (OdInt64 val)
 
 OdVariant (OdUInt64 val)
 
 OdVariant (double val)
 
const OdString & getString () const
 
const OdAnsiString & getAnsiString () const
 
const OdRxObjectPtr & getRxObjectPtr () const
 
bool getBool () const
 
OdInt8 getInt8 () const
 
OdUInt8 getUInt8 () const
 
OdInt16 getInt16 () const
 
OdUInt16 getUInt16 () const
 
OdInt32 getInt32 () const
 
OdUInt32 getUInt32 () const
 
OdInt64 getInt64 () const
 
OdUInt64 getUInt64 () const
 
OdIntPtr getIntPtr () const
 
double getDouble () const
 
OdString * getStringPtr () const
 
OdAnsiString * getAnsiStringPtr () const
 
OdRxObjectPtr * getRxObjectPtrPtr () const
 
bool * getBoolPtr () const
 
OdInt8 * getInt8Ptr () const
 
OdUInt8 * getUInt8Ptr () const
 
OdInt16 * getInt16Ptr () const
 
OdUInt16 * getUInt16Ptr () const
 
OdInt32 * getInt32Ptr () const
 
OdUInt32 * getUInt32Ptr () const
 
OdInt64 * getInt64Ptr () const
 
OdUInt64 * getUInt64Ptr () const
 
double * getDoublePtr () const
 
const OdStringArray & getStringArray () const
 
const OdAnsiStringArray & getAnsiStringArray () const
 
const OdRxObjectPtrArray & getRxObjectPtrArray () const
 
const OdBoolArray & getBoolArray () const
 
const OdInt8Array & getInt8Array () const
 
const OdUInt8Array & getUInt8Array () const
 
const OdInt16Array & getInt16Array () const
 
const OdUInt16Array & getUInt16Array () const
 
const OdInt32Array & getInt32Array () const
 
const OdUInt32Array & getUInt32Array () const
 
const OdInt64Array & getInt64Array () const
 
const OdUInt64Array & getUInt64Array () const
 
const OdDoubleArray & getDoubleArray () const
 
OdStringArray & asStringArray ()
 
OdAnsiStringArray & asAnsiStringArray ()
 
OdRxObjectPtrArray & asRxObjectPtrArray ()
 
OdBoolArray & asBoolArray ()
 
OdInt8Array & asInt8Array ()
 
OdUInt8Array & asUInt8Array ()
 
OdInt16Array & asInt16Array ()
 
OdUInt16Array & asUInt16Array ()
 
OdInt32Array & asInt32Array ()
 
OdUInt32Array & asUInt32Array ()
 
OdInt64Array & asInt64Array ()
 
OdUInt64Array & asUInt64Array ()
 
OdDoubleArray & asDoubleArray ()
 
OdStringArray * getStringArrayPtr () const
 
OdAnsiStringArray * getAnsiStringArrayPtr () const
 
OdRxObjectPtrArray * getRxObjectPtrArrayPtr () const
 
OdBoolArray * getBoolArrayPtr () const
 
OdInt8Array * getInt8ArrayPtr () const
 
OdUInt8Array * getUInt8ArrayPtr () const
 
OdInt16Array * getInt16ArrayPtr () const
 
OdUInt16Array * getUInt16ArrayPtr () const
 
OdInt32Array * getInt32ArrayPtr () const
 
OdUInt32Array * getUInt32ArrayPtr () const
 
OdInt64Array * getInt64ArrayPtr () const
 
OdUInt64Array * getUInt64ArrayPtr () const
 
OdDoubleArray * getDoubleArrayPtr () const
 
OdVariant & setString (const OdString &val)
 
OdVariant & setAnsiString (const OdAnsiString &val)
 
OdVariant & setRxObjectPtr (const OdRxObjectPtr &val)
 
OdVariant & setBool (bool val)
 
OdVariant & setInt8 (OdInt8 val)
 
OdVariant & setUInt8 (OdUInt8 val)
 
OdVariant & setInt16 (OdInt16 val)
 
OdVariant & setUInt16 (OdUInt16 val)
 
OdVariant & setInt32 (OdInt32 val)
 
OdVariant & setUInt32 (OdUInt32 val)
 
OdVariant & setInt64 (OdInt64 val)
 
OdVariant & setUInt64 (OdUInt64 val)
 
OdVariant & setIntPtr (OdIntPtr val)
 
OdVariant & setDouble (double val)
 
OdVariant & setStringPtr (OdString *val)
 
OdVariant & setAnsiStringPtr (OdAnsiString *val)
 
OdVariant & setRxObjectPtrPtr (OdRxObjectPtr *val)
 
OdVariant & setBoolPtr (bool *val)
 
OdVariant & setInt8Ptr (OdInt8 *val)
 
OdVariant & setUInt8Ptr (OdUInt8 *val)
 
OdVariant & setInt16Ptr (OdInt16 *val)
 
OdVariant & setUInt16Ptr (OdUInt16 *val)
 
OdVariant & setInt32Ptr (OdInt32 *val)
 
OdVariant & setUInt32Ptr (OdUInt32 *val)
 
OdVariant & setInt64Ptr (OdInt64 *val)
 
OdVariant & setUInt64Ptr (OdUInt64 *val)
 
OdVariant & setDoublePtr (double *val)
 
OdVariant & setStringArray (const OdStringArray &val)
 
OdVariant & setAnsiStringArray (const OdAnsiStringArray &val)
 
OdVariant & setRxObjectPtrArray (const OdRxObjectPtrArray &val)
 
OdVariant & setBoolArray (const OdBoolArray &val)
 
OdVariant & setInt8Array (const OdInt8Array &val)
 
OdVariant & setUInt8Array (const OdUInt8Array &val)
 
OdVariant & setInt16Array (const OdInt16Array &val)
 
OdVariant & setUInt16Array (const OdUInt16Array &val)
 
OdVariant & setInt32Array (const OdInt32Array &val)
 
OdVariant & setUInt32Array (const OdUInt32Array &val)
 
OdVariant & setInt64Array (const OdInt64Array &val)
 
OdVariant & setUInt64Array (const OdUInt64Array &val)
 
OdVariant & setDoubleArray (const OdDoubleArray &val)
 
OdVariant & setStringArrayPtr (OdStringArray *val)
 
OdVariant & setAnsiStringArrayPtr (OdAnsiStringArray *val)
 
OdVariant & setRxObjectPtrArrayPtr (OdRxObjectPtrArray *val)
 
OdVariant & setBoolArrayPtr (OdBoolArray *val)
 
OdVariant & setInt8ArrayPtr (OdInt8Array *val)
 
OdVariant & setUInt8ArrayPtr (OdUInt8Array *val)
 
OdVariant & setInt16ArrayPtr (OdInt16Array *val)
 
OdVariant & setUInt16ArrayPtr (OdUInt16Array *val)
 
OdVariant & setInt32ArrayPtr (OdInt32Array *val)
 
OdVariant & setUInt32ArrayPtr (OdUInt32Array *val)
 
OdVariant & setInt64ArrayPtr (OdInt64Array *val)
 
OdVariant & setUInt64ArrayPtr (OdUInt64Array *val)
 
OdVariant & setDoubleArrayPtr (OdDoubleArray *val)
 

Static Public Member Functions

static const OdVariant::TypeFactory * typeFactory (int type)
 
static Type kVariantArray (OdUInt16 nDims, OdUInt32 itemType)
 
static Type kVariantArray (OdUInt16 nDims, OdTfVariant::Type itemType)
 
static Type kVariantArray (OdUInt32 itemType)
 
static Type kVariantArray (OdTfVariant::Type type)
 
static Type getItemType (OdTfVariant::Type type)
 
static OdUInt16 getDimsCount (OdTfVariant::Type type)
 
static OdTfVariant empty ()
 
- Static Public Member Functions inherited from OdVariant
static const TypeFactory * typeFactory (int type)
 

Protected Member Functions

void setVarType (int newType, int &type, void *data)
 
void makeEmpty ()
 
- Protected Member Functions inherited from OdVariant
void * data () const
 
virtual void setVarType (int newType, int &type, void *data)
 

Additional Inherited Members

- Protected Attributes inherited from OdVariant
int m_type
 
union {
   OdUInt8   uint8 [nOdVariantDataSize]
 
   double   dbl
 
   void *   ptr
 
} m_uData
 

Detailed Description

A class that implements an extension of the <exref target="https://docs.opendesign.com/tkernel/OdVariant.html">OdVariant</exref> class that can be used as an universal storage of typified data. Corresponding C++ library: Od_Tf <group OdTf_Classes>

Definition at line 53 of file TfVariant.h.

Member Enumeration Documentation

◆ Type

Data types for Tf variant objects. <group OdTf_Types>

Enumerator
kGUID 
kEmpty 
kDEPRECARED0 
kDbStubPtr 
kRxObjectWeakPtr 
kTuple 
kNextType 

Definition at line 67 of file TfVariant.h.

Constructor & Destructor Documentation

◆ OdTfVariant() [1/7]

OdTfVariant::OdTfVariant ( )

Creates an empty Tf variant object.

◆ OdTfVariant() [2/7]

OdTfVariant::OdTfVariant ( const OdVariant &  value)

Creates a new Tf variant object that is a copy of another variant object represented with the OdVariant class instance.

Parameters
value[in] An OdVariant object that is copied to a created Tf variant object.

◆ OdTfVariant() [3/7]

OdTfVariant::OdTfVariant ( const OdTfVariant &  value)

Creates a new Tf variant object that is a copy of another Tf variant object (copy constructor).

Parameters
value[in] An OdTfVariant object that is copied to a created Tf variant object.

◆ OdTfVariant() [4/7]

OdTfVariant::OdTfVariant ( const OdGUID &  value)

Creates a new Tf variant object with a specified GUID.

Parameters
value[in] A GUID value.

◆ OdTfVariant() [5/7]

OdTfVariant::OdTfVariant ( const OdTfVariantTuple &  value)

Creates a new tuple of Tf variant objects from an existing variant object tuple.

Parameters
value[in] An original variant object tuple that is copied to the created one.

◆ OdTfVariant() [6/7]

OdTfVariant::OdTfVariant ( OdTfVariant::Type  type,
const OdTfVariantArray &  value 
)

Creates a new array of Tf variant objects of a specified data type from an existing array.

Parameters
type[in] A data type.
value[in] An original variant object array that is copied to the created one.

◆ OdTfVariant() [7/7]

OdTfVariant::OdTfVariant ( OdDbStub *const  value)

Creates a new Tf variant object from a specified raw data stub.

Parameters
value[in] A pointer to a raw stub.

◆ ~OdTfVariant()

virtual OdTfVariant::~OdTfVariant ( )
virtual

Destroys the variant object.

Member Function Documentation

◆ asVariantArray()

OdTfVariantArray & OdTfVariant::asVariantArray ( )

Retrieves the current variant data as a variant array.

Returns
Returns the array of variant values.
Remarks
In the variant object has a data type that differs from the array data type, the method throws an exception.

◆ asVariantTuple()

OdTfVariantTuple & OdTfVariant::asVariantTuple ( )

Retrieves the current variant data as a variant tuple.

Returns
Returns the tuple of variant values.
Remarks
In the variant object has a data type that differs from the tuple data type, the method throws an exception.

◆ empty()

static OdTfVariant OdTfVariant::empty ( )
static

Creates a new Tf variant object with an empty value. The created variant object has the OdTfVriantType::kEmpty type.

Returns
Returns a new Tf variant object with an empty value.

◆ getDbStubPtr()

OdDbStub * OdTfVariant::getDbStubPtr ( ) const

Retrieves the current raw data stub associated with the variant object.

Returns
Returns a pointer to the raw data stub.

◆ getDimsCount()

static OdUInt16 OdTfVariant::getDimsCount ( OdTfVariant::Type  type)
static

Retrieves the dimension quantity for a specified data type.

Parameters
type[in] A data type.
Returns
Returns dimensions count.

◆ getGUID()

const OdGUID & OdTfVariant::getGUID ( ) const

Retrieves the current GUID of the variant object.

Returns
Returns the current GUID of the variant object.

◆ getItemType()

static Type OdTfVariant::getItemType ( OdTfVariant::Type  type)
static

Retrieves the data type of an element of a multi-dimensional array defined with its data type.

Parameters
type[in] A data type that represents a multi-dimensional array.
Returns
Returns the data type that any element of specified multi-dimension array has.

◆ getRxObjectWeakPtr()

OdRxObject * OdTfVariant::getRxObjectWeakPtr ( ) const

Retrieves the weak pointer to an OdRxObject class instance associated with the variant object.

Returns
Returns a raw pointer to the OdRxObject class instance.

◆ getVariantArray()

const OdTfVariantArray & OdTfVariant::getVariantArray ( ) const

Retrieves the current array of variant values from the object.

Returns
Returns the array of variant values.

◆ getVariantTuple()

const OdTfVariantTuple & OdTfVariant::getVariantTuple ( ) const

Retrieves the current tuple of variant values from the object.

Returns
Returns the tuple of variant values.

◆ isEmpty()

bool OdTfVariant::isEmpty ( ) const

Retrieves whether the variant object is empty.

Returns
Returns true if the variant object is empty; otherwise returns false.

◆ isVariantArray()

bool OdTfVariant::isVariantArray ( ) const

Retrieves whether the variant object is an instance of a variant array.

Returns
Returns true if the variant object is a variant arrey; otherwise returns false.

◆ kVariantArray() [1/4]

static Type OdTfVariant::kVariantArray ( OdTfVariant::Type  type)
static

Dynamically generates a variant data type that represents an array of values with a specified data type.

Parameters
itemType[in] A data type.
Returns
Returns the requested data type.

◆ kVariantArray() [2/4]

static Type OdTfVariant::kVariantArray ( OdUInt16  nDims,
OdTfVariant::Type  itemType 
)
static

Dynamically generates a variant data type that represents a multi-dimensional array of values with a specified data type.

Parameters
nDims[in] A quantity of the array's dimensions.
itemType[in] A data type.
Returns
Returns the requested data type.

◆ kVariantArray() [3/4]

static Type OdTfVariant::kVariantArray ( OdUInt16  nDims,
OdUInt32  itemType 
)
static

Dynamically generates a variant data type that represents a multi-dimensional array of values with a specified data type.

Parameters
nDims[in] A quantity of the array's dimensions.
itemType[in] A data type.
Returns
Returns the requested data type.

◆ kVariantArray() [4/4]

static Type OdTfVariant::kVariantArray ( OdUInt32  itemType)
static

Dynamically generates a variant data type that represents an array of values with a specified data type.

Parameters
itemType[in] A data type.
Returns
Returns the requested data type.

◆ makeEmpty()

void OdTfVariant::makeEmpty ( )
protected

◆ operator=()

OdTfVariant & OdTfVariant::operator= ( const OdTfVariant &  value)

The assignment operator for two OdTfVariant objects.

Parameters
value[in] A right operand of the assignment operation.
Returns
Returns this variant object after the assignment operation.

◆ setDbStubPtr()

OdTfVariant & OdTfVariant::setDbStubPtr ( OdDbStub *const  value)

Sets a new raw data stub for the variant object.

Parameters
value[in] A new pointer to the stub.
Returns
Returns the reference to the modified variant object.

◆ setGUID()

OdTfVariant & OdTfVariant::setGUID ( const OdGUID &  value)

Sets a new GUID for the variant object.

Parameters
value[in] A new GUID value.
Returns
Returns the reference to the modified variant object.

◆ setRxObjectWeakPtr()

OdTfVariant & OdTfVariant::setRxObjectWeakPtr ( OdRxObject *const  value)

Sets a new weak pointer to the OdRxObject class instance associated with the variant object.

Parameters
value[in] A pointer to the OdRxObject class instance.
Returns
Returns the reference to the modified variant object.

◆ setVariantArray()

OdTfVariant & OdTfVariant::setVariantArray ( OdTfVariant::Type  type,
const OdTfVariantArray &  value 
)

Sets a new data type and variant values array for the variant object.

Parameters
type[in] A new data type value.
value[in] A new values array.
Returns
Returns the reference to the modified variant object.

◆ setVariantTuple()

OdTfVariant & OdTfVariant::setVariantTuple ( const OdTfVariantTuple &  value)

Sets a new variant value tuple for the variant object.

Parameters
value[in] A new values tuple.
Returns
Returns the reference to the modified variant object.

◆ setVarType()

void OdTfVariant::setVarType ( int  newType,
int &  type,
void *  data 
)
protectedvirtual

Reimplemented from OdVariant.

◆ typeFactory()

static const OdVariant::TypeFactory * OdTfVariant::typeFactory ( int  type)
static

Creates a factory (if it was not created previously) for variant objects of a specified data type.

Parameters
type[in] A data type of objects that are created by the factory.
Returns
Returns a raw pointer to a factory object.

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