16 template <
typename Type,
typename TypeData,
typename GetFunction>
34 that.entity =
nullptr;
35 that.memset(&data, 0,
sizeof(data));
36 that.getter =
nullptr;
42 getter(
nullptr, &data);
51 that.entity =
nullptr;
52 that.memset(&data, 0,
sizeof(data));
53 that.getter =
nullptr;
58 operator Type *()
const {
return entity; }
60 TypeData
const * operator->()
const {
return &data; }
61 TypeData * operator->() {
return &data; }
63 bool IsValid()
const {
return valid; }
75 A3DStatus status = getter(entity, &data);
76 valid = (status == A3D_SUCCESS);
85 template <
typename Type,
typename TypeData,
typename GetFunction>
103 that.index = (Type)-1;
104 that.memset(&data, 0,
sizeof(data));
105 that.getter =
nullptr;
111 getter((Type)-1, &data);
120 that.index = (Type)-1;
121 that.memset(&data, 0,
sizeof(data));
122 that.getter =
nullptr;
127 operator Type ()
const {
return index; }
129 TypeData
const * operator->()
const {
return &data; }
130 TypeData * operator->() {
return &data; }
132 bool IsValid()
const {
return valid; }
144 A3DStatus status = getter(index, &data);
145 valid = (status == A3D_SUCCESS);
159 A3DDrawingModel * entity)
162 A3D_INITIALIZE_DATA(A3DDrawingModelData, data);
172 A3DDrawingSheet * entity)
175 A3D_INITIALIZE_DATA(A3DDrawingSheetData, data);
188 A3D_INITIALIZE_DATA(A3DGraphStyleData, data);
189 if (index != A3D_DEFAULT_STYLE_INDEX)
199 A3DDrawingSheetFormat * entity)
202 A3D_INITIALIZE_DATA(A3DDrawingSheetFormatData, data);
212 A3DDrawingBlockBasic * entity)
215 A3D_INITIALIZE_DATA(A3DDrawingBlockBasicData, data);
225 A3DDrawingBlockOperator * entity)
228 A3D_INITIALIZE_DATA(A3DDrawingBlockOperatorData, data);
238 A3DDrawingCurve * entity)
241 A3D_INITIALIZE_DATA(A3DDrawingCurveData, data);
251 A3DDrawingFilledArea * entity)
254 A3D_INITIALIZE_DATA(A3DDrawingFilledAreaData, data);
264 A3DDrawingPicture * entity)
267 A3D_INITIALIZE_DATA(A3DDrawingPictureData, data);
277 A3DDrawingVertices * entity)
280 A3D_INITIALIZE_DATA(A3DDrawingVerticesData, data);
290 A3DDrawingView * entity)
293 A3D_INITIALIZE_DATA(A3DDrawingViewData, data);
303 A3DDrawingClipFrame * entity)
306 A3D_INITIALIZE_DATA(A3DDrawingClipFrameData, data);
316 A3DCrvBlend02Boundary * entity)
319 A3D_INITIALIZE_DATA(A3DCrvBlend02BoundaryData, data);
329 A3DCrvCircle * entity)
332 A3D_INITIALIZE_DATA(A3DCrvCircleData, data);
342 A3DCrvComposite * entity)
345 A3D_INITIALIZE_DATA(A3DCrvCompositeData, data);
355 A3DCrvEllipse * entity)
358 A3D_INITIALIZE_DATA(A3DCrvEllipseData, data);
368 A3DCrvHelix * entity)
371 A3D_INITIALIZE_DATA(A3DCrvHelixData, data);
381 A3DCrvHyperbola * entity)
384 A3D_INITIALIZE_DATA(A3DCrvHyperbolaData, data);
394 A3DCrvIntersection * entity)
397 A3D_INITIALIZE_DATA(A3DCrvIntersectionData, data);
410 A3D_INITIALIZE_DATA(A3DCrvLineData, data);
420 A3DCrvOffset * entity)
423 A3D_INITIALIZE_DATA(A3DCrvOffsetData, data);
433 A3DCrvOnSurf * entity)
436 A3D_INITIALIZE_DATA(A3DCrvOnSurfData, data);
446 A3DCrvParabola * entity)
449 A3D_INITIALIZE_DATA(A3DCrvParabolaData, data);
459 A3DCrvPolyLine * entity)
462 A3D_INITIALIZE_DATA(A3DCrvPolyLineData, data);
472 A3DCrvTransform * entity)
475 A3D_INITIALIZE_DATA(A3DCrvTransformData, data);
485 A3DTessBase * entity)
488 A3D_INITIALIZE_DATA(A3DTessBaseData, data);
498 A3DTess3DWire * entity)
501 A3D_INITIALIZE_DATA(A3DTess3DWireData, data);
511 A3DTessMarkup * entity)
514 A3D_INITIALIZE_DATA(A3DTessMarkupData, data);
524 A3DRiRepresentationItem * entity)
527 A3D_INITIALIZE_DATA(A3DRiRepresentationItemData, data);
540 A3D_INITIALIZE_DATA(A3DGraphHatchingPatternData, data);
541 if (index != A3D_DEFAULT_PATTERN_INDEX)
551 A3DAsmModelFile * entity)
554 A3D_INITIALIZE_DATA(A3DAsmModelFileData, data);
564 A3DAsmProductOccurrence * entity)
567 A3D_INITIALIZE_DATA(A3DAsmProductOccurrenceData, data);
577 A3DAsmPartDefinition * entity)
580 A3D_INITIALIZE_DATA(A3DAsmPartDefinitionData, data);
590 A3DRootBase * entity)
593 A3D_INITIALIZE_DATA(A3DRootBaseData, data);
603 A3DMkpMarkup * entity)
606 A3D_INITIALIZE_DATA(A3DMkpMarkupData, data);
616 A3DMarkupRichText * entity)
619 A3D_INITIALIZE_DATA(A3DMarkupRichTextData, data);
629 A3DMarkupDefinition * entity)
632 A3D_INITIALIZE_DATA(A3DMarkupDefinitionData, data);
642 A3DMDPosition2D * entity)
645 A3D_INITIALIZE_DATA(A3DMDPosition2DData, data);
658 A3D_INITIALIZE_DATA(A3DGraphLinePatternData, data);
659 if (index != A3D_DEFAULT_LINEPATTERN_INDEX)
672 A3D_INITIALIZE_DATA(A3DGraphPictureData, data);
673 if (index != A3D_DEFAULT_PICTURE_INDEX)
686 A3D_INITIALIZE_DATA(A3DGraphTextureDefinitionData, data);
687 if (index != A3D_DEFAULT_TEXTURE_DEFINITION_INDEX)
697 A3DRootBaseWithGraphics
const * entity,
698 A3DMiscCascadedAttributes
const * fatherAttr)
703 A3D_INITIALIZE_DATA(A3DMiscCascadedAttributesData, data);
705 A3DStatus status = A3DMiscCascadedAttributesCreate(&attr);
706 if (status == A3D_SUCCESS)
708 status = A3DMiscCascadedAttributesPush(attr, entity, fatherAttr);
709 if (status == A3D_SUCCESS)
711 status = A3DMiscCascadedAttributesGet(attr, &data);
712 validData = (status == A3D_SUCCESS);
720 A3DMiscCascadedAttributesGet(
nullptr, &data);
722 A3DMiscCascadedAttributesDelete(attr);
725 operator A3DMiscCascadedAttributes *()
const {
return attr; }
727 A3DMiscCascadedAttributesData
const * operator->()
const {
return &data; }
728 A3DMiscCascadedAttributesData * operator->() {
return &data; }
730 bool IsValid()
const {
return attr !=
nullptr && validData; }
732 A3DRootBaseWithGraphics
const * entity;
733 A3DMiscCascadedAttributes * attr;
735 A3DMiscCascadedAttributesData data;
Definition: ExchangeWrapper.h:312
Definition: ExchangeWrapper.h:679
Definition: ExchangeWrapper.h:520
Definition: ExchangeWrapper.h:299
Definition: ExchangeWrapper.h:181
Definition: ExchangeWrapper.h:17
Definition: ExchangeWrapper.h:547
Definition: ExchangeWrapper.h:612
Definition: ExchangeWrapper.h:377
Definition: ExchangeWrapper.h:247
Definition: ExchangeWrapper.h:364
Definition: ExchangeWrapper.h:286
Definition: ExchangeWrapper.h:325
Definition: ExchangeWrapper.h:442
Definition: ExchangeWrapper.h:338
Definition: ExchangeWrapper.h:390
Definition: ExchangeWrapper.h:625
Definition: ExchangeWrapper.h:429
Definition: ExchangeWrapper.h:693
Definition: ExchangeWrapper.h:586
Definition: ExchangeWrapper.h:168
Definition: ExchangeWrapper.h:665
Definition: ExchangeWrapper.h:573
Definition: ExchangeWrapper.h:273
Definition: ExchangeWrapper.h:234
Definition: ExchangeWrapper.h:86
Definition: ExchangeWrapper.h:533
Definition: ExchangeWrapper.h:403
Definition: ExchangeWrapper.h:651
Definition: ExchangeWrapper.h:155
Definition: ExchangeWrapper.h:260
Definition: ExchangeWrapper.h:560
Definition: ExchangeWrapper.h:351
Definition: ExchangeWrapper.h:221
Definition: ExchangeWrapper.h:507
Definition: ExchangeWrapper.h:455
Definition: ExchangeWrapper.h:208
Definition: ExchangeWrapper.h:494
Definition: ExchangeWrapper.h:599
Definition: ExchangeWrapper.h:638
Definition: ExchangeWrapper.h:416
Definition: ExchangeWrapper.h:481