16 template <
typename Type,
typename TypeData>
20 typedef A3DStatus(*PGetFunction)(Type
const *, TypeData *);
36 that.entity =
nullptr;
37 that.memset(&data, 0,
sizeof(data));
38 that.getter =
nullptr;
44 getter(
nullptr, &data);
53 that.entity =
nullptr;
54 that.memset(&data, 0,
sizeof(data));
55 that.getter =
nullptr;
60 operator Type *()
const {
return entity; }
62 TypeData
const * operator->()
const {
return &data; }
63 TypeData * operator->() {
return &data; }
65 bool IsValid()
const {
return valid; }
77 A3DStatus status = getter(entity, &data);
78 valid = (status == A3D_SUCCESS);
87 template <
typename Type,
typename TypeData>
91 typedef A3DStatus(*PGetFunction)(Type, TypeData *);
106 that.index = (Type)-1;
107 that.memset(&data, 0,
sizeof(data));
108 that.getter =
nullptr;
114 getter((Type)-1, &data);
123 that.index = (Type)-1;
124 that.memset(&data, 0,
sizeof(data));
125 that.getter =
nullptr;
130 operator Type ()
const {
return index; }
132 TypeData
const * operator->()
const {
return &data; }
133 TypeData * operator->() {
return &data; }
135 bool IsValid()
const {
return valid; }
147 A3DStatus status = getter(index, &data);
148 valid = (status == A3D_SUCCESS);
162 A3DDrawingModel * entity)
165 A3D_INITIALIZE_DATA(A3DDrawingModelData, data);
175 A3DDrawingSheet * entity)
178 A3D_INITIALIZE_DATA(A3DDrawingSheetData, data);
191 A3D_INITIALIZE_DATA(A3DGraphStyleData, data);
192 if (index != A3D_DEFAULT_STYLE_INDEX)
202 A3DDrawingSheetFormat * entity)
205 A3D_INITIALIZE_DATA(A3DDrawingSheetFormatData, data);
215 A3DDrawingBlockBasic * entity)
218 A3D_INITIALIZE_DATA(A3DDrawingBlockBasicData, data);
228 A3DDrawingBlockOperator * entity)
231 A3D_INITIALIZE_DATA(A3DDrawingBlockOperatorData, data);
241 A3DDrawingCurve * entity)
244 A3D_INITIALIZE_DATA(A3DDrawingCurveData, data);
254 A3DDrawingFilledArea * entity)
257 A3D_INITIALIZE_DATA(A3DDrawingFilledAreaData, data);
267 A3DDrawingPicture * entity)
270 A3D_INITIALIZE_DATA(A3DDrawingPictureData, data);
280 A3DDrawingVertices * entity)
283 A3D_INITIALIZE_DATA(A3DDrawingVerticesData, data);
293 A3DDrawingView * entity)
296 A3D_INITIALIZE_DATA(A3DDrawingViewData, data);
306 A3DDrawingClipFrame * entity)
309 A3D_INITIALIZE_DATA(A3DDrawingClipFrameData, data);
319 A3DCrvBlend02Boundary * entity)
322 A3D_INITIALIZE_DATA(A3DCrvBlend02BoundaryData, data);
332 A3DCrvCircle * entity)
335 A3D_INITIALIZE_DATA(A3DCrvCircleData, data);
345 A3DCrvComposite * entity)
348 A3D_INITIALIZE_DATA(A3DCrvCompositeData, data);
358 A3DCrvEllipse * entity)
361 A3D_INITIALIZE_DATA(A3DCrvEllipseData, data);
371 A3DCrvHelix * entity)
374 A3D_INITIALIZE_DATA(A3DCrvHelixData, data);
384 A3DCrvHyperbola * entity)
387 A3D_INITIALIZE_DATA(A3DCrvHyperbolaData, data);
397 A3DCrvIntersection * entity)
400 A3D_INITIALIZE_DATA(A3DCrvIntersectionData, data);
413 A3D_INITIALIZE_DATA(A3DCrvLineData, data);
423 A3DCrvOffset * entity)
426 A3D_INITIALIZE_DATA(A3DCrvOffsetData, data);
436 A3DCrvOnSurf * entity)
439 A3D_INITIALIZE_DATA(A3DCrvOnSurfData, data);
449 A3DCrvParabola * entity)
452 A3D_INITIALIZE_DATA(A3DCrvParabolaData, data);
462 A3DCrvPolyLine * entity)
465 A3D_INITIALIZE_DATA(A3DCrvPolyLineData, data);
475 A3DCrvTransform * entity)
478 A3D_INITIALIZE_DATA(A3DCrvTransformData, data);
488 A3DTessBase * entity)
491 A3D_INITIALIZE_DATA(A3DTessBaseData, data);
501 A3DTess3DWire * entity)
504 A3D_INITIALIZE_DATA(A3DTess3DWireData, data);
514 A3DTessMarkup * entity)
517 A3D_INITIALIZE_DATA(A3DTessMarkupData, data);
527 A3DRiRepresentationItem * entity)
530 A3D_INITIALIZE_DATA(A3DRiRepresentationItemData, data);
543 A3D_INITIALIZE_DATA(A3DGraphHatchingPatternData, data);
544 if (index != A3D_DEFAULT_PATTERN_INDEX)
554 A3DAsmModelFile * entity)
557 A3D_INITIALIZE_DATA(A3DAsmModelFileData, data);
567 A3DAsmProductOccurrence * entity)
570 A3D_INITIALIZE_DATA(A3DAsmProductOccurrenceData, data);
580 A3DAsmPartDefinition * entity)
583 A3D_INITIALIZE_DATA(A3DAsmPartDefinitionData, data);
593 A3DRootBase * entity)
596 A3D_INITIALIZE_DATA(A3DRootBaseData, data);
606 A3DMkpMarkup * entity)
609 A3D_INITIALIZE_DATA(A3DMkpMarkupData, data);
619 A3DMarkupRichText * entity)
622 A3D_INITIALIZE_DATA(A3DMarkupRichTextData, data);
632 A3DMarkupDefinition * entity)
635 A3D_INITIALIZE_DATA(A3DMarkupDefinitionData, data);
645 A3DMDPosition2D * entity)
648 A3D_INITIALIZE_DATA(A3DMDPosition2DData, data);
661 A3D_INITIALIZE_DATA(A3DGraphLinePatternData, data);
662 if (index != A3D_DEFAULT_LINEPATTERN_INDEX)
675 A3D_INITIALIZE_DATA(A3DGraphPictureData, data);
676 if (index != A3D_DEFAULT_PICTURE_INDEX)
689 A3D_INITIALIZE_DATA(A3DGraphTextureDefinitionData, data);
690 if (index != A3D_DEFAULT_TEXTURE_DEFINITION_INDEX)
700 A3DRootBaseWithGraphics
const * entity,
701 A3DMiscCascadedAttributes
const * fatherAttr)
706 A3D_INITIALIZE_DATA(A3DMiscCascadedAttributesData, data);
708 A3DStatus status = A3DMiscCascadedAttributesCreate(&attr);
709 if (status == A3D_SUCCESS)
711 status = A3DMiscCascadedAttributesPush(attr, entity, fatherAttr);
712 if (status == A3D_SUCCESS)
714 status = A3DMiscCascadedAttributesGet(attr, &data);
715 validData = (status == A3D_SUCCESS);
723 A3DMiscCascadedAttributesGet(
nullptr, &data);
725 A3DMiscCascadedAttributesDelete(attr);
728 operator A3DMiscCascadedAttributes *()
const {
return attr; }
730 A3DMiscCascadedAttributesData
const * operator->()
const {
return &data; }
731 A3DMiscCascadedAttributesData * operator->() {
return &data; }
733 bool IsValid()
const {
return attr !=
nullptr && validData; }
735 A3DRootBaseWithGraphics
const * entity;
736 A3DMiscCascadedAttributes * attr;
738 A3DMiscCascadedAttributesData data;
Definition: ExchangeWrapper.h:315
Definition: ExchangeWrapper.h:682
Definition: ExchangeWrapper.h:523
Definition: ExchangeWrapper.h:302
Definition: ExchangeWrapper.h:184
Definition: ExchangeWrapper.h:17
Definition: ExchangeWrapper.h:550
Definition: ExchangeWrapper.h:615
Definition: ExchangeWrapper.h:380
Definition: ExchangeWrapper.h:250
Definition: ExchangeWrapper.h:367
Definition: ExchangeWrapper.h:289
Definition: ExchangeWrapper.h:328
Definition: ExchangeWrapper.h:445
Definition: ExchangeWrapper.h:341
Definition: ExchangeWrapper.h:393
Definition: ExchangeWrapper.h:628
Definition: ExchangeWrapper.h:432
Definition: ExchangeWrapper.h:696
Definition: ExchangeWrapper.h:589
Definition: ExchangeWrapper.h:171
Definition: ExchangeWrapper.h:668
Definition: ExchangeWrapper.h:576
Definition: ExchangeWrapper.h:276
Definition: ExchangeWrapper.h:237
Definition: ExchangeWrapper.h:88
Definition: ExchangeWrapper.h:536
Definition: ExchangeWrapper.h:406
Definition: ExchangeWrapper.h:654
Definition: ExchangeWrapper.h:158
Definition: ExchangeWrapper.h:263
Definition: ExchangeWrapper.h:563
Definition: ExchangeWrapper.h:354
Definition: ExchangeWrapper.h:224
Definition: ExchangeWrapper.h:510
Definition: ExchangeWrapper.h:458
Definition: ExchangeWrapper.h:211
Definition: ExchangeWrapper.h:497
Definition: ExchangeWrapper.h:13
Definition: ExchangeWrapper.h:602
Definition: ExchangeWrapper.h:641
Definition: ExchangeWrapper.h:419
Definition: ExchangeWrapper.h:484