CFx SDK Documentation
2023 SP0
Main Page
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
z
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
z
Variables
a
k
o
s
v
w
Typedefs
_
a
b
c
d
e
f
h
i
l
m
o
p
r
s
t
u
v
w
Enumerations
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
x
Enumerator
a
b
c
d
e
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Enumerations
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Related Functions
a
b
c
d
e
f
g
h
i
m
o
p
r
s
v
w
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
i
l
m
n
o
p
q
r
s
t
u
v
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Typedefs
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
i
m
o
p
s
t
Enumerator
a
c
d
e
g
j
k
o
p
s
t
Macros
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
SDK
CFx
aec_inc
Common
AECMacros.h
Go to the documentation of this file.
1
// Copyright (C) 2002-2017, Open Design Alliance (the "Alliance").
3
// All rights reserved.
4
//
5
// This software and its documentation and related materials are owned by
6
// the Alliance. The software may only be incorporated into application
7
// programs owned by members of the Alliance, subject to a signed
8
// Membership Agreement and Supplemental Software License Agreement with the
9
// Alliance. The structure and organization of this software are the valuable
10
// trade secrets of the Alliance and its suppliers. The software is also
11
// protected by copyright law and international treaty provisions. Application
12
// programs incorporating this software must include the following statement
13
// with their copyright notices:
14
//
15
// This application incorporates Teigha(R) software pursuant to a license
16
// agreement with Open Design Alliance.
17
// Teigha(R) Copyright (C) 2002-2017 by Open Design Alliance.
18
// All rights reserved.
19
//
20
// By use of this software, its documentation or related materials, you
21
// acknowledge and accept the above terms.
23
24
#ifndef __AECMACROS_H__
25
#define __AECMACROS_H__
26
27
#include <
DbEntity.h
>
28
#include <
RxModule.h
>
29
30
class
AECDbDwgFiler;
31
32
// Methods from OdDbCurve interface currently supported by Teigha� Architecture entities.
33
// TODO: Add all other methods from OdDbCurve interface.
34
#define CURVE_DECLARE_MEMBERS() \
35
public: \
36
virtual bool isClosed() const; \
37
virtual bool isPeriodic() const; \
38
virtual OdResult getStartParam( double& param ) const; \
39
virtual OdResult getEndParam ( double& param ) const; \
40
virtual OdResult getStartPoint( OdGePoint3d& pt ) const; \
41
virtual OdResult getEndPoint( OdGePoint3d& pt ) const; \
42
virtual OdResult getPointAtParam( double, OdGePoint3d& ) const; \
43
virtual OdResult getParamAtPoint( const OdGePoint3d&, double& ) const; \
44
virtual OdResult getDistAtParam ( double param, double& dist ) const; \
45
virtual OdResult getParamAtDist ( double dist, double& param ) const; \
46
virtual OdResult getDistAtPoint ( const OdGePoint3d&, double& )const; \
47
virtual OdResult getPointAtDist ( double, OdGePoint3d&) const; \
48
virtual OdResult getFirstDeriv ( double param, OdGeVector3d& firstDeriv ) const; \
49
virtual OdResult getPlane(OdGePlane& plane, OdDb::Planarity& planarity) const; \
50
virtual OdResult getClosestPointTo( const OdGePoint3d& givenPoint, OdGePoint3d& pointOnCurve, bool extend = false ) const
51
52
// Declares standard methods for each
53
// Teigha� Architecture database resident or imp-object.
54
#define AEC_DECLARE_MEMBERS( ClassName ) \
55
\
56
ODRX_DECLARE_MEMBERS( ClassName ); \
57
\
58
private: \
59
OdRxModulePtr m_pModule; \
60
public: \
61
static const OdUInt16 m_AECType; \
62
static const OdUInt16 m_ver; \
63
public: \
64
ClassName(); \
65
virtual ~ClassName(); \
66
public: \
67
virtual OdUInt16 GetAECType() const; \
68
void referenceModule(); \
69
\
70
virtual OdResult dwgInFieldsEx( AECDbDwgFiler* pFiler ); \
71
virtual void dwgOutFieldsEx( AECDbDwgFiler* pFiler ) const; \
72
\
73
virtual OdResult dxfInFields( OdDbDxfFiler* pFiler ); \
74
virtual void dxfOutFields( OdDbDxfFiler* pFiler ) const
75
76
// Declares empty Teigha� Architecture subobject or database resident.
77
#define DECLARE_EMPTY( API, AECClass, AECParentClass ) \
78
class API AECClass : public AECParentClass \
79
{ \
80
AEC_DECLARE_MEMBERS( AECClass ); \
81
}; \
82
typedef OdSmartPtr<AECClass> AECClass##Ptr
83
84
// Following macros is used to define
85
// standard static methods for AEC dictionaries.
86
#define AEC_DICTIONARY_BASE( ClassName ) \
87
public: \
88
static OdDbObjectId GetAECDictionary( OdDbDatabase* pDatabase, bool bCreateIfNotFound = false ); \
89
static OdDbObjectId GetAECDictionaryExt( OdDbObject* pObject, bool bCreateIfNotFound = false )
90
91
#define AEC_DICTIONARY_DECLARE_MEMBERS( ClassName ) \
92
AEC_DICTIONARY_BASE( ClassName ); \
93
static OdDbObjectId GetStandardAECObject( OdDbDatabase* pDatabase ); \
94
static OdDbObjectId GetAECObject( OdDbDatabase* pDatabase, const OdString& strName = OdString::kEmpty ); \
95
static OdDbObjectId GetAECObjectExt( OdDbObject* pObject, const OdString& strName ); \
96
static OdDbObjectId CreateAECObject( OdDbDatabase* pDatabase, const OdString& strName = OdString::kEmpty ); \
97
static OdDbObjectId CreateAECObjectExt( OdDbObject* pObject, const OdString& strName = OdString::kEmpty )
98
99
// Declares simple sub-object.
100
#define AEC_SUBOBJ_DECLARE_MEMBERS_NO_DESTR( ClassName ) \
101
ODRX_DECLARE_MEMBERS( ClassName ); \
102
public: \
103
ClassName(); \
104
virtual OdResult dwgInFieldsEx( AECDbDwgFiler* pFiler ); \
105
virtual void dwgOutFieldsEx( AECDbDwgFiler* pFiler ) const;
106
107
#define AEC_SUBOBJ_DECLARE_MEMBERS( ClassName ) \
108
AEC_SUBOBJ_DECLARE_MEMBERS_NO_DESTR( ClassName ) \
109
virtual ~ClassName() { }
110
111
#endif
//__AECMACROS_H__
DbEntity.h
RxModule.h
Generated on Thu Feb 24 2022 15:09:23