CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
FxVariant.h
Go to the documentation of this file.
1//
2// (C) Copyright 2005-2025 by Graebert GmbH.
3//
4// Permission to use, copy, modify, and distribute this software in
5// object code form for any purpose and without fee is hereby granted,
6// provided that the above copyright notice appears in all copies and
7// that both that copyright notice and the limited warranty and
8// restricted rights notice below appear in all supporting
9// documentation.
10//
11// GRAEBERT PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
12// GRAEBERT SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
13// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. GRAEBERT GMBH
14// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
15// UNINTERRUPTED OR ERROR FREE.
16
17#pragma once
18
19#include "DDKERNEL.h"
20#include "FxString.h"
21
22#include <CmColor.h>
23#include <DbDictionary.h>
24#include <DbObjectId.h>
25#include <Ge/Ge.h>
26#include <Ge/GePoint2d.h>
27#include <Ge/GePoint3d.h>
28#include <OdaCommon.h>
29#include <QtCore/QByteArray>
30
31#include <vector>
32
33
34class CFxVariant;
35class CFxDocument;
36
37
111
118{
123
131 bool operator==( const CFxVariantCollection& collection ) const;
132
138 bool HasVaries() const;
139
143 typedef std::vector<CFxVariantCollectionElement> CONTAINER;
144
149
154
161 {
162 return _collection;
163 }
164
174
181
182protected:
187};
188
227
234{
235public:
239 static const char* varies;
244
266
271
277 CFxVariant( const CFxVariant& variant );
278
284 CFxVariant( const CFxVariant* pVariant );
291 CFxVariant( const void* value, int size );
292
299 CFxVariant( double value, bool useUnitsConversion = true );
300
307
314
321
328
335
342
349
356
363
370 void Load( QByteArray& data, CFxDocument* pContext );
371
377 QByteArray Save() const;
378
382 virtual ~CFxVariant();
383
389 bool IsNull() const;
390
396 Type GetType() const;
397
403 bool UseUnitsConversion() const;
404
412 void* GetVoid( int* size = 0 ) const;
413
417 double GetDouble() const;
418
423
428
432 const OdCmColor& GetColor() const;
433
438
443
448
453
457 const OdDbObjectId& GetId() const;
458
462 const OdGePoint2d& GetPoint2d() const;
463
467 const OdGePoint3d& GetPoint3d() const;
468
474 void SetValue( const CFxVariant& value );
475
484 friend DDKERNEL_API bool operator!=( const CFxVariant& v1, const CFxVariant& v2 );
485
494 friend DDKERNEL_API bool operator==( const CFxVariant& v1, const CFxVariant& v2 );
495
504
505protected:
513 static void GetIdDescription( OdDbObjectId id, CFxString& sPath, CFxString& sObjectName );
514
515
526 static bool BuildOwnerPath( OdDbDictionaryPtr pRootDict,
527 OdDbObjectId idTarget,
528 const CFxString& sRootName,
529 CFxString& sPath );
530
541 const CFxString& sPath,
542 const CFxString& sObjectName );
543
548
553
554private:
558 static CFxVariantCollectionElement m_NullCollectionElement;
559
563 static CFxVariantCollection m_NullCollection;
564};
#define DDKERNEL_API
Definition DDKERNEL.h:32
OdSmartPtr< OdDbDictionary > OdDbDictionaryPtr
Definition DbDatabase.h:109
int OdInt32
void SetTag(const CFxVariant &value)
CFxVariantCollectionElement & operator=(const CFxVariantCollectionElement &value)
CFxVariantCollectionElement(const CFxVariantCollectionElement &value)
CFxVariantCollectionElement(const CFxVariant &tag, const CFxVariant &value)
virtual ~CFxVariantCollectionElement()
CFxVariant * GetValue() const
CFxVariant * GetTag() const
void SetValue(const CFxVariant &value)
const OdCmColor & GetColor() const
CFxVariant(double value, bool useUnitsConversion=true)
const CFxVariant & operator+=(const CFxVariant &v)
const OdGePoint2d & GetPoint2d() const
void SetValue(const CFxVariant &value)
void * GetVoid(int *size=0) const
CFxVariant(const CFxVariantCollectionElement &value)
friend DDKERNEL_API bool operator!=(const CFxVariant &v1, const CFxVariant &v2)
CFxVariant(const CFxString &value)
bool UseUnitsConversion() const
static OdDbObjectId ResolvePath(OdDbDictionaryPtr pRootDict, const CFxString &sPath, const CFxString &sObjectName)
CFxVariant(const CFxVariant *pVariant)
CFxVariant(const OdDbObjectId &value)
friend DDKERNEL_API bool operator==(const CFxVariant &v1, const CFxVariant &v2)
CFxVariant(const CFxVariantCollection &value)
CFxVariant(const OdCmTransparency &value)
static void GetIdDescription(OdDbObjectId id, CFxString &sPath, CFxString &sObjectName)
OdInt32 GetInt32() const
const CFxVariantCollectionElement & GetCollectionElement() const
static bool BuildOwnerPath(OdDbDictionaryPtr pRootDict, OdDbObjectId idTarget, const CFxString &sRootName, CFxString &sPath)
QByteArray Save() const
void Load(QByteArray &data, CFxDocument *pContext)
bool m_bUseUnitsConversion
Definition FxVariant.h:552
static const char * varies
Definition FxVariant.h:239
CFxVariant(const OdCmColor &value)
static CFxVariant kNull
Definition FxVariant.h:243
double GetDouble() const
const OdCmTransparency & GetTransparency() const
CFxVariant(const void *value, int size)
CFxVariant(OdInt32 value)
CFxVariant(const OdGePoint3d &value)
CFxVariantCollection & GetCollection()
CFxVariant(const CFxVariant &variant)
@ eCollectionElement
Definition FxVariant.h:257
bool IsNull() const
const OdDbObjectId & GetId() const
CFxVariant(const OdGePoint2d &value)
CFxString GetString() const
enum CFxVariant::_Type Type
Type m_Type
Definition FxVariant.h:547
const CFxVariantCollection & GetCollection() const
Type GetType() const
virtual ~CFxVariant()
const OdGePoint3d & GetPoint3d() const
GLfloat GLfloat v1
Definition gles2_ext.h:295
GLfloat GLfloat GLfloat v2
Definition gles2_ext.h:296
GLsizeiptr size
Definition gles2_ext.h:182
GLint GLenum GLsizei GLsizei GLint GLsizei const void * data
Definition gles2_ext.h:110
const GLfloat * v
Definition gles2_ext.h:315
GLsizei const GLfloat * value
Definition gles2_ext.h:302
CONTAINER _collection
Definition FxVariant.h:186
bool HasVaries() const
bool operator==(const CFxVariantCollection &collection) const
const CONTAINER & GetCollectionDataForRead() const
Definition FxVariant.h:160
std::vector< CFxVariantCollectionElement > CONTAINER
Definition FxVariant.h:143
CONTAINER & GetCollectionDataForWrite()
Definition FxVariant.h:170
CFxVariant GetActiveItemValue() const
void * m_pVoid
Definition FxVariant.h:205
OdCmColor m_Color
Definition FxVariant.h:219
CFxString m_String
Definition FxVariant.h:217
OdGePoint2d m_Point2D
Definition FxVariant.h:223
OdInt32 m_Int32
Definition FxVariant.h:218
OdCmTransparency m_Transparency
Definition FxVariant.h:225
OdDbObjectId m_Id
Definition FxVariant.h:222
CFxVariantCollectionElement m_CollectionElement
Definition FxVariant.h:220
double m_Double
Definition FxVariant.h:215
bool m_UseUnitsConversion
Definition FxVariant.h:216
OdGePoint3d m_Point3D
Definition FxVariant.h:224
CFxVariantCollection m_Collection
Definition FxVariant.h:221