CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
AECDimPoint.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2022, 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 Open Design Alliance software pursuant to a
16// license agreement with Open Design Alliance.
17// Open Design Alliance Copyright (C) 2002-2022 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 __AECDIMENSIONCOMMONOVERRIDE_H__
25#define __AECDIMENSIONCOMMONOVERRIDE_H__
26
27#include "AECArchDACHBase.h"
29#include <DbFiler.h>
30#include <Ge/GePoint3d.h>
31
37class AECARCHDACHBASE_API AECDimPoint
38{
39 public:
44
45 public:
49 enum Type
50 {
51 etPoint = -1,
52 etIntersection = 1,
53 etEndPoint = 2,
54 etStartPoint = 3,
55 etCenter = 4,
56 etWidthCenter = 6,
57 etQuadrant = 7
58 };
59
64 {
65 ecPoint = 1,
66 ecOverall = 2,
67 ecWallPoint = 2,
68 ecEdgePoint = 3,
69 ecWallComponentPoint = 3,
70 ecWallOpeningPoint = 4,
71 ecWallIntersectionPoint = 6,
72 ecBoundingBox = 7,
73 ecComponentCenter = 7
74 };
75
79 enum Group
80 {
91 egAecPoint
92 };
93
94 public:
98 void setPoint( const OdGePoint2d& ptLocation, OdInt16 iIndex = 0 );
99
103 void setSimple( const OdGePoint2d& ptLocation,
104 const OdDbObjectId& idPrimary, const OdDbObjectId& idSecondary,
105 Type eType, Category eCategory, OdInt16 iIndex = 0, OdInt16 iTag = 0 );
106
110 void setComplex( const OdGePoint2d& ptLocation,
111 const AECSmartReference& srefPrimary, const AECSmartReference& srefSecondary,
112 Type eType, Category eCategory, OdInt16 iIndex = 0, OdInt16 iTag = 0 );
113
114 public:
118 const OdGePoint3d& location() const;
119
123 void setLocation( const OdGePoint3d& ptLocation );
124
128 Type type() const;
129
133 void setType( Type eType );
134
139
143 void setCategory( Category eCategory );
144
148 OdInt16 index() const;
149
153 void setIndex( OdInt16 iIndex );
154
158 OdInt16 tag() const;
159
163 void setTag( OdInt16 iTag );
164
168 Group group() const;
169
173 void setGroup( Group eGroup );
174
179
183 void setPrimaryObject( const AECSmartReference& rReference );
184
189
193 void setSecondaryObject( const AECSmartReference& rReference );
194
195 private:
196 // Location.
197 OdGePoint3d m_ptLocation;
198
199 // Known values:
200 // o -1 - Non-Associative Point.
201 // o 1 - Intersection.
202 // o 2 - Start Point.
203 // o 3 - End Point.
204 // o 4 - Center.
205 // o 6 - Width Center.
206 // o 7 - Quadrant.
207 OdInt16 m_iPointType;
208
209 // Known values:
210 // Walls:
211 // o 2 - Wall Points.
212 // o 3 - Wall Component Points.
213 // o 4 - Wall Opening.
214 // o 6 - Intersections.
215 //
216 // Mass Elements:
217 // Curtain Walls:
218 // Window Assemblies:
219 // Structural Member:
220 // Openings:
221 // o 2 - Overall, Edges Facing.
222 // o 3 - Edges.
223 // o 7 - Bounding Box, Center.
224 //
225 // Non-Associative Points:
226 // o 1 - Point.
227 OdInt16 m_iCategory;
228
229 // Index for some point types:
230 // Walls:
231 // o Category 3 - Component Index.
232 // o Category 4 - Opening Index.
233 // o Category 6 - Intersection Point Index.
234 //
235 // Curtain Walls:
236 // Window Assemblies:
237 // o Category 3 - Component Index (in order: Frames, Mullions, Infills).
238 OdInt16 m_iIndex;
239
240 // Class name that specifies overall point category.
241 // o "AecDbWall" - Walls, Wall Openings
242 // o "AecDbMassElem" - Mass Elements
243 // o "AecDbCurtainWallLayout" - Curtain Walls
244 // o "AecDbWindowAssembly" - Window Assemblies
245 // o "AecsDbMember" - Structural Members
246 // o "AecDbOpeningBase" - Doors, Windows and Openings
247 // o "AecDbLayoutGrid2d" - 2D Layout Grids
248 // o "AECDbGeo" - Slabs, Spaces, Roofs and Railings
249 // o "AecDbPoint" - Aec Point.
250 // o "OdDbCurve" - Linework
251 // o "" - Non-Associative Point.
252 //OdString m_strClassGroup;
253 Group m_eGroup;
254
255 // Primary object.
256 AECSmartReference m_srefPrimary;
257
258 // Secondary object.
259 AECSmartReference m_srefSecondary;
260
261 // Additional Tag. By default - 0.
262 // Walls:
263 // o 1 - Width
264 // o 2 - Opening in Wall Width
265 //
266 // Mass Elements:
267 // Curtain Walls:
268 // Window Assemblies:
269 // Structural Member:
270 // Openings:
271 // o Edge Index (-1 for center).
272 OdInt16 m_iTag;
273};
274
275#endif // __AECDIMENSIONCOMMONOVERRIDE_H__
short OdInt16
AECSmartReference primaryObject() const
Category category() const
OdInt16 index() const
Group group() const
void setIndex(OdInt16 iIndex)
void setPrimaryObject(const AECSmartReference &rReference)
void setPoint(const OdGePoint2d &ptLocation, OdInt16 iIndex=0)
void setGroup(Group eGroup)
void setType(Type eType)
void setSecondaryObject(const AECSmartReference &rReference)
const OdGePoint3d & location() const
void setLocation(const OdGePoint3d &ptLocation)
OdInt16 tag() const
void setCategory(Category eCategory)
AECSmartReference secondaryObject() const
Type type() const
void setSimple(const OdGePoint2d &ptLocation, const OdDbObjectId &idPrimary, const OdDbObjectId &idSecondary, Type eType, Category eCategory, OdInt16 iIndex=0, OdInt16 iTag=0)
void setTag(OdInt16 iTag)
void setComplex(const OdGePoint2d &ptLocation, const AECSmartReference &srefPrimary, const AECSmartReference &srefSecondary, Type eType, Category eCategory, OdInt16 iIndex=0, OdInt16 iTag=0)
@ egStructuralMember
Definition: AECDimPoint.h:85
@ egCurtainWallLayout
Definition: AECDimPoint.h:83
@ egWindowAssembly
Definition: AECDimPoint.h:84