/////////////////////////////////////////////////////////////////////////////// // THIS FILE IS MACHINE GENERATED!!!! // /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // Copyright (C) 2002-2019, Open Design Alliance (the "Alliance"). // All rights reserved. // // This software and its documentation and related materials are owned by // the Alliance. The software may only be incorporated into application // programs owned by members of the Alliance, subject to a signed // Membership Agreement and Supplemental Software License Agreement with the // Alliance. The structure and organization of this software are the valuable // trade secrets of the Alliance and its suppliers. The software is also // protected by copyright law and international treaty provisions. Application // programs incorporating this software must include the following statement // with their copyright notices: // // This application incorporates Teigha(R) software pursuant to a license // agreement with Open Design Alliance. // Teigha(R) Copyright (C) 2002-2019 by Open Design Alliance. // All rights reserved. // // By use of this software, its documentation or related materials, you // acknowledge and accept the above terms. /////////////////////////////////////////////////////////////////////////////// #include "OdaCommon.h" #include "RxProperty.h" #include "RxObjectImpl.h" #include "RxAttribute.h" #include "RxCategory.h" #include "RxValueTypeUtil.h" #include "DbLeader.h" #include "DbValueTypes.h" /* OdDbLeaderAnnoHeightProperty */ struct OdDbLeaderAnnoHeightProperty : OdRxProperty { static OdRxMemberPtr createObject(const OdRxClass* owner) { OdRxMemberPtr res = OdRxObjectImpl::createObject(); ((OdDbLeaderAnnoHeightProperty*)res.get())->init(__OD_T("AnnoHeight"), &OdRxValueType::Desc::value(), owner); ((OdDbLeaderAnnoHeightProperty*)res.get())->attributes().add(OdRxUnitTypeAttribute::createObject(static_cast(1))); return res; } virtual OdResult subGetValue(const OdRxObject* pO, OdRxValue& value) const ODRX_OVERRIDE; virtual bool isReadOnly(const OdRxObject*) const ODRX_OVERRIDE { return true; } }; OdResult OdDbLeaderAnnoHeightProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = static_cast(pObj->annoHeight()); return eOk; } /* OdDbLeaderAnnoTypeProperty */ struct OdDbLeaderAnnoTypeProperty : OdRxProperty { static OdRxMemberPtr createObject(const OdRxClass* owner) { OdRxMemberPtr res = OdRxObjectImpl::createObject(); ((OdDbLeaderAnnoTypeProperty*)res.get())->init(__OD_T("AnnoType"), &OdRxValueType::Desc::value(), owner); return res; } virtual OdResult subGetValue(const OdRxObject* pO, OdRxValue& value) const ODRX_OVERRIDE; virtual bool isReadOnly(const OdRxObject*) const ODRX_OVERRIDE { return true; } }; OdResult OdDbLeaderAnnoTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = static_cast(pObj->annoType()); return eOk; } /* OdDbLeaderAnnoWidthProperty */ struct OdDbLeaderAnnoWidthProperty : OdRxProperty { static OdRxMemberPtr createObject(const OdRxClass* owner) { OdRxMemberPtr res = OdRxObjectImpl::createObject(); ((OdDbLeaderAnnoWidthProperty*)res.get())->init(__OD_T("AnnoWidth"), &OdRxValueType::Desc::value(), owner); ((OdDbLeaderAnnoWidthProperty*)res.get())->attributes().add(OdRxUnitTypeAttribute::createObject(static_cast(1))); return res; } virtual OdResult subGetValue(const OdRxObject* pO, OdRxValue& value) const ODRX_OVERRIDE; virtual bool isReadOnly(const OdRxObject*) const ODRX_OVERRIDE { return true; } }; OdResult OdDbLeaderAnnoWidthProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = static_cast(pObj->annoWidth()); return eOk; } /* OdDbLeaderNormalProperty */ struct OdDbLeaderNormalProperty : OdRxProperty { static OdRxMemberPtr createObject(const OdRxClass* owner) { OdRxMemberPtr res = OdRxObjectImpl::createObject(); ((OdDbLeaderNormalProperty*)res.get())->init(__OD_T("Normal"), &OdRxValueType::Desc::value(), owner); return res; } virtual OdResult subChildren(OdArray& children) const { children.append(OdRxSubProperty::createObject(L"X", OdRxValueType::Desc::value(), this)); children.append(OdRxSubProperty::createObject(L"Y", OdRxValueType::Desc::value(), this)); children.append(OdRxSubProperty::createObject(L"Z", OdRxValueType::Desc::value(), this)); return eOk; } virtual OdResult subGetValue(const OdRxObject* pO, OdRxValue& value) const ODRX_OVERRIDE; virtual bool isReadOnly(const OdRxObject*) const ODRX_OVERRIDE { return true; } }; OdResult OdDbLeaderNormalProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = static_cast(pObj->normal()); return eOk; } /* OdDbLeaderHasHookLineProperty */ struct OdDbLeaderHasHookLineProperty : OdRxProperty { static OdRxMemberPtr createObject(const OdRxClass* owner) { OdRxMemberPtr res = OdRxObjectImpl::createObject(); ((OdDbLeaderHasHookLineProperty*)res.get())->init(__OD_T("HasHookLine"), &OdRxValueType::Desc::value(), owner); return res; } virtual OdResult subGetValue(const OdRxObject* pO, OdRxValue& value) const ODRX_OVERRIDE; virtual bool isReadOnly(const OdRxObject*) const ODRX_OVERRIDE { return true; } }; OdResult OdDbLeaderHasHookLineProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = static_cast(pObj->hasHookLine()); return eOk; } /* OdDbLeaderNumVerticesProperty */ struct OdDbLeaderNumVerticesProperty : OdRxProperty { static OdRxMemberPtr createObject(const OdRxClass* owner) { OdRxMemberPtr res = OdRxObjectImpl::createObject(); ((OdDbLeaderNumVerticesProperty*)res.get())->init(__OD_T("NumVertices"), &OdRxValueType::Desc::value(), owner); return res; } virtual OdResult subGetValue(const OdRxObject* pO, OdRxValue& value) const ODRX_OVERRIDE; virtual bool isReadOnly(const OdRxObject*) const ODRX_OVERRIDE { return true; } }; OdResult OdDbLeaderNumVerticesProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = static_cast(pObj->numVertices()); return eOk; } /* OdDbLeaderFirstVertexProperty */ struct OdDbLeaderFirstVertexProperty : OdRxProperty { static OdRxMemberPtr createObject(const OdRxClass* owner) { OdRxMemberPtr res = OdRxObjectImpl::createObject(); ((OdDbLeaderFirstVertexProperty*)res.get())->init(__OD_T("FirstVertex"), &OdRxValueType::Desc::value(), owner); return res; } virtual OdResult subChildren(OdArray& children) const { children.append(OdRxSubProperty::createObject(L"X", OdRxValueType::Desc::value(), this)); children.append(OdRxSubProperty::createObject(L"Y", OdRxValueType::Desc::value(), this)); children.append(OdRxSubProperty::createObject(L"Z", OdRxValueType::Desc::value(), this)); return eOk; } virtual OdResult subGetValue(const OdRxObject* pO, OdRxValue& value) const ODRX_OVERRIDE; virtual bool isReadOnly(const OdRxObject*) const ODRX_OVERRIDE { return true; } }; OdResult OdDbLeaderFirstVertexProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = static_cast(pObj->firstVertex()); return eOk; } /* OdDbLeaderLastVertexProperty */ struct OdDbLeaderLastVertexProperty : OdRxProperty { static OdRxMemberPtr createObject(const OdRxClass* owner) { OdRxMemberPtr res = OdRxObjectImpl::createObject(); ((OdDbLeaderLastVertexProperty*)res.get())->init(__OD_T("LastVertex"), &OdRxValueType::Desc::value(), owner); return res; } virtual OdResult subChildren(OdArray& children) const { children.append(OdRxSubProperty::createObject(L"X", OdRxValueType::Desc::value(), this)); children.append(OdRxSubProperty::createObject(L"Y", OdRxValueType::Desc::value(), this)); children.append(OdRxSubProperty::createObject(L"Z", OdRxValueType::Desc::value(), this)); return eOk; } virtual OdResult subGetValue(const OdRxObject* pO, OdRxValue& value) const ODRX_OVERRIDE; virtual bool isReadOnly(const OdRxObject*) const ODRX_OVERRIDE { return true; } }; OdResult OdDbLeaderLastVertexProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = static_cast(pObj->lastVertex()); return eOk; } /* OdDbLeaderDimscaleProperty */ struct OdDbLeaderDimscaleProperty : OdRxProperty { static OdRxMemberPtr createObject(const OdRxClass* owner) { OdRxMemberPtr res = OdRxObjectImpl::createObject(); ((OdDbLeaderDimscaleProperty*)res.get())->init(__OD_T("Dimscale"), &OdRxValueType::Desc::value(), owner); ((OdDbLeaderDimscaleProperty*)res.get())->attributes().add(OdRxUnitTypeAttribute::createObject(static_cast(0))); // TODO: OdRxLocalizedNameAttribute is temporarily down // ((OdDbLeaderDimscaleProperty*)res.get())->attributes().add(OdRxLocalizedNameAttribute::createObject(L"Dim scale overall")); ((OdDbLeaderDimscaleProperty*)res.get())->attributes().add(OdRxDescriptionAttribute::createObject(L"Specifies the overall scale factor applied to properties that specify sizes, distances, or offsets")); if (!OdRxCategory::rootCategory()->findDescendant(L"Fit")) OdRxCategory::createObject(L"Fit", OdRxCategory::rootCategory()); ((OdDbLeaderDimscaleProperty*)res.get())->attributes().add(OdRxUiPlacementAttribute::createObject(L"Fit", 4)); ((OdDbLeaderDimscaleProperty*)res.get())->attributes().add(OdRxCOMAttribute::createObject(L"ScaleFactor")); return res; } virtual OdResult subGetValue(const OdRxObject* pO, OdRxValue& value) const ODRX_OVERRIDE; virtual OdResult subSetValue(OdRxObject* pO, const OdRxValue& value) const ODRX_OVERRIDE; }; OdResult OdDbLeaderDimscaleProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = static_cast(pObj->dimscale()); return eOk; } OdResult OdDbLeaderDimscaleProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; double val; if (!(value >> val)) return eInvalidInput; pObj->setDimscale(val); return eOk; } /* OdDbLeaderHasArrowHeadProperty */ struct OdDbLeaderHasArrowHeadProperty : OdRxProperty { static OdRxMemberPtr createObject(const OdRxClass* owner) { OdRxMemberPtr res = OdRxObjectImpl::createObject(); ((OdDbLeaderHasArrowHeadProperty*)res.get())->init(__OD_T("HasArrowHead"), &OdRxValueType::Desc::value(), owner); return res; } virtual OdResult subGetValue(const OdRxObject* pO, OdRxValue& value) const ODRX_OVERRIDE; virtual OdResult subSetValue(OdRxObject* pO, const OdRxValue& value) const ODRX_OVERRIDE; }; OdResult OdDbLeaderHasArrowHeadProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = static_cast(pObj->hasArrowHead()); return eOk; } OdResult OdDbLeaderHasArrowHeadProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; bool val; if (!(value >> val)) return eInvalidInput; //>>REPLACE_LINE if (val) pObj->enableArrowHead(); else pObj->disableArrowHead(); return eOk; } /* OdDbLeaderIsSplinedProperty */ struct OdDbLeaderIsSplinedProperty : OdRxProperty { static OdRxMemberPtr createObject(const OdRxClass* owner) { OdRxMemberPtr res = OdRxObjectImpl::createObject(); ((OdDbLeaderIsSplinedProperty*)res.get())->init(__OD_T("IsSplined"), &OdRxValueType::Desc::value(), owner); return res; } virtual OdResult subGetValue(const OdRxObject* pO, OdRxValue& value) const ODRX_OVERRIDE; virtual OdResult subSetValue(OdRxObject* pO, const OdRxValue& value) const ODRX_OVERRIDE; }; OdResult OdDbLeaderIsSplinedProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = static_cast(pObj->isSplined()); return eOk; } OdResult OdDbLeaderIsSplinedProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; bool val; if (!(value >> val)) return eInvalidInput; //>>REPLACE_LINE if (val) pObj->setToSplineLeader(); else pObj->setToStraightLeader(); return eOk; } /* OdDbLeaderDimtxtProperty */ struct OdDbLeaderDimtxtProperty : OdRxProperty { static OdRxMemberPtr createObject(const OdRxClass* owner) { OdRxMemberPtr res = OdRxObjectImpl::createObject(); ((OdDbLeaderDimtxtProperty*)res.get())->init(__OD_T("Dimtxt"), &OdRxValueType::Desc::value(), owner); ((OdDbLeaderDimtxtProperty*)res.get())->attributes().add(OdRxUnitTypeAttribute::createObject(static_cast(1))); return res; } virtual OdResult subGetValue(const OdRxObject* pO, OdRxValue& value) const ODRX_OVERRIDE; virtual OdResult subSetValue(OdRxObject* pO, const OdRxValue& value) const ODRX_OVERRIDE; }; OdResult OdDbLeaderDimtxtProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = static_cast(pObj->dimtxt()); return eOk; } OdResult OdDbLeaderDimtxtProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; double val; if (!(value >> val)) return eInvalidInput; pObj->setDimtxt(val); return eOk; } /* OdDbLeaderDimtadProperty */ struct OdDbLeaderDimtadProperty : OdRxProperty { static OdRxMemberPtr createObject(const OdRxClass* owner) { OdRxMemberPtr res = OdRxObjectImpl::createObject(); ((OdDbLeaderDimtadProperty*)res.get())->init(__OD_T("Dimtad"), &OdRxValueType::Desc::value(), owner); // TODO: OdRxLocalizedNameAttribute is temporarily down // ((OdDbLeaderDimtadProperty*)res.get())->attributes().add(OdRxLocalizedNameAttribute::createObject(L"Text pos vert")); ((OdDbLeaderDimtadProperty*)res.get())->attributes().add(OdRxDescriptionAttribute::createObject(L"Specifies the vertical dimension text position")); if (!OdRxCategory::rootCategory()->findDescendant(L"Text")) OdRxCategory::createObject(L"Text", OdRxCategory::rootCategory()); ((OdDbLeaderDimtadProperty*)res.get())->attributes().add(OdRxUiPlacementAttribute::createObject(L"Text", 10)); ((OdDbLeaderDimtadProperty*)res.get())->attributes().add(OdRxCOMAttribute::createObject(L"VerticalTextPosition")); return res; } virtual OdResult subGetValue(const OdRxObject* pO, OdRxValue& value) const ODRX_OVERRIDE; virtual OdResult subSetValue(OdRxObject* pO, const OdRxValue& value) const ODRX_OVERRIDE; }; OdResult OdDbLeaderDimtadProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = static_cast(pObj->dimtad()); return eOk; } OdResult OdDbLeaderDimtadProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; int val; if (!(value >> val)) return eInvalidInput; pObj->setDimtad(val); return eOk; } /* OdDbLeaderDimaszProperty */ struct OdDbLeaderDimaszProperty : OdRxProperty { static OdRxMemberPtr createObject(const OdRxClass* owner) { OdRxMemberPtr res = OdRxObjectImpl::createObject(); ((OdDbLeaderDimaszProperty*)res.get())->init(__OD_T("Dimasz"), &OdRxValueType::Desc::value(), owner); ((OdDbLeaderDimaszProperty*)res.get())->attributes().add(OdRxUnitTypeAttribute::createObject(static_cast(1))); // TODO: OdRxLocalizedNameAttribute is temporarily down // ((OdDbLeaderDimaszProperty*)res.get())->attributes().add(OdRxLocalizedNameAttribute::createObject(L"Arrow size")); ((OdDbLeaderDimaszProperty*)res.get())->attributes().add(OdRxDescriptionAttribute::createObject(L"Specifies the size of the leader arrowhead")); if (!OdRxCategory::rootCategory()->findDescendant(L"Lines & Arrows")) OdRxCategory::createObject(L"Lines & Arrows", OdRxCategory::rootCategory()); ((OdDbLeaderDimaszProperty*)res.get())->attributes().add(OdRxUiPlacementAttribute::createObject(L"Lines & Arrows", 6)); ((OdDbLeaderDimaszProperty*)res.get())->attributes().add(OdRxCOMAttribute::createObject(L"ArrowheadSize")); return res; } virtual OdResult subGetValue(const OdRxObject* pO, OdRxValue& value) const ODRX_OVERRIDE; virtual OdResult subSetValue(OdRxObject* pO, const OdRxValue& value) const ODRX_OVERRIDE; }; OdResult OdDbLeaderDimaszProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = static_cast(pObj->dimasz()); return eOk; } OdResult OdDbLeaderDimaszProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; double val; if (!(value >> val)) return eInvalidInput; pObj->setDimasz(val); return eOk; } /* OdDbLeaderDimlwdProperty */ struct OdDbLeaderDimlwdProperty : OdRxProperty { static OdRxMemberPtr createObject(const OdRxClass* owner) { OdRxMemberPtr res = OdRxObjectImpl::createObject(); ((OdDbLeaderDimlwdProperty*)res.get())->init(__OD_T("Dimlwd"), &OdRxValueType::Desc::value(), owner); // TODO: OdRxLocalizedNameAttribute is temporarily down // ((OdDbLeaderDimlwdProperty*)res.get())->attributes().add(OdRxLocalizedNameAttribute::createObject(L"Dim line lineweight")); ((OdDbLeaderDimlwdProperty*)res.get())->attributes().add(OdRxDescriptionAttribute::createObject(L"Specifies the lineweight of the leader line")); if (!OdRxCategory::rootCategory()->findDescendant(L"Lines & Arrows")) OdRxCategory::createObject(L"Lines & Arrows", OdRxCategory::rootCategory()); ((OdDbLeaderDimlwdProperty*)res.get())->attributes().add(OdRxUiPlacementAttribute::createObject(L"Lines & Arrows", 7)); ((OdDbLeaderDimlwdProperty*)res.get())->attributes().add(OdRxCOMAttribute::createObject(L"DimensionLineWeight")); return res; } virtual OdResult subGetValue(const OdRxObject* pO, OdRxValue& value) const ODRX_OVERRIDE; virtual OdResult subSetValue(OdRxObject* pO, const OdRxValue& value) const ODRX_OVERRIDE; }; OdResult OdDbLeaderDimlwdProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = static_cast(pObj->dimlwd()); return eOk; } OdResult OdDbLeaderDimlwdProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; OdDb::LineWeight val; if (!(value >> val)) return eInvalidInput; pObj->setDimlwd(val); return eOk; } /* OdDbLeaderDimgapProperty */ struct OdDbLeaderDimgapProperty : OdRxProperty { static OdRxMemberPtr createObject(const OdRxClass* owner) { OdRxMemberPtr res = OdRxObjectImpl::createObject(); ((OdDbLeaderDimgapProperty*)res.get())->init(__OD_T("Dimgap"), &OdRxValueType::Desc::value(), owner); ((OdDbLeaderDimgapProperty*)res.get())->attributes().add(OdRxUnitTypeAttribute::createObject(static_cast(1))); // TODO: OdRxLocalizedNameAttribute is temporarily down // ((OdDbLeaderDimgapProperty*)res.get())->attributes().add(OdRxLocalizedNameAttribute::createObject(L"Text offset")); ((OdDbLeaderDimgapProperty*)res.get())->attributes().add(OdRxDescriptionAttribute::createObject(L"Specifies the distance around the dimension text that the dimension line is broken")); if (!OdRxCategory::rootCategory()->findDescendant(L"Text")) OdRxCategory::createObject(L"Text", OdRxCategory::rootCategory()); ((OdDbLeaderDimgapProperty*)res.get())->attributes().add(OdRxUiPlacementAttribute::createObject(L"Text", 9)); ((OdDbLeaderDimgapProperty*)res.get())->attributes().add(OdRxCOMAttribute::createObject(L"TextGap")); return res; } virtual OdResult subGetValue(const OdRxObject* pO, OdRxValue& value) const ODRX_OVERRIDE; virtual OdResult subSetValue(OdRxObject* pO, const OdRxValue& value) const ODRX_OVERRIDE; }; OdResult OdDbLeaderDimgapProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = static_cast(pObj->dimgap()); return eOk; } OdResult OdDbLeaderDimgapProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; double val; if (!(value >> val)) return eInvalidInput; pObj->setDimgap(val); return eOk; } /* OdDbLeaderDimclrdProperty */ struct OdDbLeaderDimclrdProperty : OdRxProperty { static OdRxMemberPtr createObject(const OdRxClass* owner) { OdRxMemberPtr res = OdRxObjectImpl::createObject(); ((OdDbLeaderDimclrdProperty*)res.get())->init(__OD_T("Dimclrd"), &OdRxValueType::Desc::value(), owner); // TODO: OdRxLocalizedNameAttribute is temporarily down // ((OdDbLeaderDimclrdProperty*)res.get())->attributes().add(OdRxLocalizedNameAttribute::createObject(L"Dim line color")); ((OdDbLeaderDimclrdProperty*)res.get())->attributes().add(OdRxDescriptionAttribute::createObject(L"Specifies the color of the leader lines")); if (!OdRxCategory::rootCategory()->findDescendant(L"Lines & Arrows")) OdRxCategory::createObject(L"Lines & Arrows", OdRxCategory::rootCategory()); ((OdDbLeaderDimclrdProperty*)res.get())->attributes().add(OdRxUiPlacementAttribute::createObject(L"Lines & Arrows", 8)); ((OdDbLeaderDimclrdProperty*)res.get())->attributes().add(OdRxCOMAttribute::createObject(L"DimensionLineColor")); return res; } virtual OdResult subGetValue(const OdRxObject* pO, OdRxValue& value) const ODRX_OVERRIDE; virtual OdResult subSetValue(OdRxObject* pO, const OdRxValue& value) const ODRX_OVERRIDE; }; OdResult OdDbLeaderDimclrdProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = static_cast(pObj->dimclrd()); return eOk; } OdResult OdDbLeaderDimclrdProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; OdCmColor val; if (!(value >> val)) return eInvalidInput; pObj->setDimclrd(val); return eOk; } /* OdDbLeaderAnnotationOffsetProperty */ struct OdDbLeaderAnnotationOffsetProperty : OdRxProperty { static OdRxMemberPtr createObject(const OdRxClass* owner) { OdRxMemberPtr res = OdRxObjectImpl::createObject(); ((OdDbLeaderAnnotationOffsetProperty*)res.get())->init(__OD_T("AnnotationOffset"), &OdRxValueType::Desc::value(), owner); return res; } virtual OdResult subChildren(OdArray& children) const { children.append(OdRxSubProperty::createObject(L"X", OdRxValueType::Desc::value(), this)); children.append(OdRxSubProperty::createObject(L"Y", OdRxValueType::Desc::value(), this)); children.append(OdRxSubProperty::createObject(L"Z", OdRxValueType::Desc::value(), this)); return eOk; } virtual OdResult subGetValue(const OdRxObject* pO, OdRxValue& value) const ODRX_OVERRIDE; virtual OdResult subSetValue(OdRxObject* pO, const OdRxValue& value) const ODRX_OVERRIDE; }; OdResult OdDbLeaderAnnotationOffsetProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = static_cast(pObj->annotationOffset()); return eOk; } OdResult OdDbLeaderAnnotationOffsetProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; OdGeVector3d val; if (!(value >> val)) return eInvalidInput; pObj->setAnnotationOffset(val); return eOk; } /* OdDbLeaderDimldrblkProperty */ struct OdDbLeaderDimldrblkProperty : OdRxProperty { static OdRxMemberPtr createObject(const OdRxClass* owner) { OdRxMemberPtr res = OdRxObjectImpl::createObject(); ((OdDbLeaderDimldrblkProperty*)res.get())->init(__OD_T("Dimldrblk"), &OdRxValueType::Desc::value(), owner); ((OdDbLeaderDimldrblkProperty*)res.get())->attributes().add(OdRxDisplayAsAttribute::createObject(L"Name")); return res; } virtual OdResult subGetValue(const OdRxObject* pO, OdRxValue& value) const ODRX_OVERRIDE; virtual OdResult subSetValue(OdRxObject* pO, const OdRxValue& value) const ODRX_OVERRIDE; }; OdResult OdDbLeaderDimldrblkProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = static_cast(pObj->dimldrblk()); return eOk; } OdResult OdDbLeaderDimldrblkProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; OdDbObjectId val; if (!(value >> val)) return eInvalidInput; pObj->setDimldrblk(val); return eOk; } /* OdDbLeaderDimsahProperty */ struct OdDbLeaderDimsahProperty : OdRxProperty { static OdRxMemberPtr createObject(const OdRxClass* owner) { OdRxMemberPtr res = OdRxObjectImpl::createObject(); ((OdDbLeaderDimsahProperty*)res.get())->init(__OD_T("Dimsah"), &OdRxValueType::Desc::value(), owner); return res; } virtual OdResult subGetValue(const OdRxObject* pO, OdRxValue& value) const ODRX_OVERRIDE; virtual OdResult subSetValue(OdRxObject* pO, const OdRxValue& value) const ODRX_OVERRIDE; }; OdResult OdDbLeaderDimsahProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = static_cast(pObj->dimsah()); return eOk; } OdResult OdDbLeaderDimsahProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDbLeaderPtr pObj = OdDbLeader::cast(pO); if (pObj.isNull()) return eNotApplicable; bool val; if (!(value >> val)) return eInvalidInput; pObj->setDimsah(val); return eOk; } void createOdDbLeaderProperties(OdArray& properties, OdRxMemberCollectionBuilder& b, void*) { properties.append(OdDbLeaderAnnoHeightProperty::createObject(b.owner())); b.add(properties.last()); properties.append(OdDbLeaderAnnoTypeProperty::createObject(b.owner())); b.add(properties.last()); properties.append(OdDbLeaderAnnoWidthProperty::createObject(b.owner())); b.add(properties.last()); properties.append(OdDbLeaderNormalProperty::createObject(b.owner())); b.add(properties.last()); properties.append(OdDbLeaderHasHookLineProperty::createObject(b.owner())); b.add(properties.last()); properties.append(OdDbLeaderNumVerticesProperty::createObject(b.owner())); b.add(properties.last()); properties.append(OdDbLeaderFirstVertexProperty::createObject(b.owner())); b.add(properties.last()); properties.append(OdDbLeaderLastVertexProperty::createObject(b.owner())); b.add(properties.last()); properties.append(OdDbLeaderDimscaleProperty::createObject(b.owner())); b.add(properties.last()); properties.append(OdDbLeaderHasArrowHeadProperty::createObject(b.owner())); b.add(properties.last()); properties.append(OdDbLeaderIsSplinedProperty::createObject(b.owner())); b.add(properties.last()); properties.append(OdDbLeaderDimtxtProperty::createObject(b.owner())); b.add(properties.last()); properties.append(OdDbLeaderDimtadProperty::createObject(b.owner())); b.add(properties.last()); properties.append(OdDbLeaderDimaszProperty::createObject(b.owner())); b.add(properties.last()); properties.append(OdDbLeaderDimlwdProperty::createObject(b.owner())); b.add(properties.last()); properties.append(OdDbLeaderDimgapProperty::createObject(b.owner())); b.add(properties.last()); properties.append(OdDbLeaderDimclrdProperty::createObject(b.owner())); b.add(properties.last()); properties.append(OdDbLeaderAnnotationOffsetProperty::createObject(b.owner())); b.add(properties.last()); properties.append(OdDbLeaderDimldrblkProperty::createObject(b.owner())); b.add(properties.last()); properties.append(OdDbLeaderDimsahProperty::createObject(b.owner())); b.add(properties.last()); }