/////////////////////////////////////////////////////////////////////////////// // Copyright (C) 2002-2025, 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 Open Design Alliance software pursuant to a license // agreement with Open Design Alliance. // Open Design Alliance Copyright (C) 2002-2025 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 "DgExtraProperties.h" #include "DgTable.h" #include "DgSharedCellDefinition.h" #include "DgLevelMask.h" //----------------------------------------------------------------------------------------------------------------------- // class: OdDgHatchPattern //----------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------- // property: LineStyleScale //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternPatternTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getType(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- // property: Tolerance //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternToleranceProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getTolerance(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternToleranceProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setTolerance(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: UseTolerance //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternUseToleranceProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getUseToleranceFlag(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternUseToleranceProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setUseToleranceFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: Rotation //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternRotationProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getRotation(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternRotationProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdGeQuaternion* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setRotation(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: 2dRotation //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPattern2dRotationProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; OdGeMatrix2d matRotation; pObj->getRotation2d(matRotation); OdGeVector2d vrXAxis = OdGeVector2d::kXAxis; vrXAxis.transformBy(matRotation); value = OdGeVector2d::kXAxis.angleTo(vrXAxis); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPattern2dRotationProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setRotation2d(OdGeMatrix2d::rotation(*pValue)); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: UseRotation //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternUseRotationProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getUseRotationFlag(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternUseRotationProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setUseRotationFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: LowMultilineIndex //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternLowMultilineIndexProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getLowMultilineIndex(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternLowMultilineIndexProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt32* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setLowMultilineIndex(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: HighMultilineIndex //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternHighMultilineIndexProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getHighMultilineIndex(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternHighMultilineIndexProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt32* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setHighMultilineIndex(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: UseMultilineIndices //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternUseMultilineIndicesProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getUseMultilineIndicesFlag(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternUseMultilineIndicesProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setUseMultilineIndicesFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: Offset //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternOffsetProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; OdGePoint3d ptOffset; pObj->getOffset(ptOffset); value = ptOffset; return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternOffsetProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdGePoint3d* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setOffset(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: UseOffset //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternUseOffsetProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getUseOffsetFlag(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternUseOffsetProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setUseOffsetFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: Snappable //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternSnappableProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSnappableFlag(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternSnappableProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setSnappableFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: HatchScale //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternHatchScaleProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getHatchScale(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternHatchScaleProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if (pValue) { pObj->setHatchScale(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: UseAnnotationScale //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternUseAnnotationScaleProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getUseAnnotationScaleFlag(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternUseAnnotationScaleProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setUseAnnotationScaleFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: AnnotationScale //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternAnnotationScaleProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getAnnotationScale(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgHatchPatternAnnotationScaleProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgHatchPatternPtr pObj = OdDgHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if (pValue) { pObj->setAnnotationScale(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // class: OdDgLinearHatchPattern //----------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------- // property: Space //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgLinearHatchPatternSpaceProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinearHatchPatternPtr pObj = OdDgLinearHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSpace(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgLinearHatchPatternSpaceProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLinearHatchPatternPtr pObj = OdDgLinearHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setSpace(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: Angle //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgLinearHatchPatternAngleProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinearHatchPatternPtr pObj = OdDgLinearHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getAngle(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgLinearHatchPatternAngleProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLinearHatchPatternPtr pObj = OdDgLinearHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setAngle(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: LineStyleEntryId //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgLinearHatchPatternLineStyleEntryIdProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinearHatchPatternPtr pObj = OdDgLinearHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; if( !pObj->getUseLineStyleFlag() ) return eNotApplicable; value = pObj->getLineStyleEntryId(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgLinearHatchPatternLineStyleEntryIdProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLinearHatchPatternPtr pObj = OdDgLinearHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt32* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setLineStyleEntryId(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: UseLineStyle //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgLinearHatchPatternUseLineStyleProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinearHatchPatternPtr pObj = OdDgLinearHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getUseLineStyleFlag(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgLinearHatchPatternUseLineStyleProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLinearHatchPatternPtr pObj = OdDgLinearHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setUseLineStyleFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: LineWeight //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgLinearHatchPatternLineWeightProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinearHatchPatternPtr pObj = OdDgLinearHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; if( !pObj->getUseLineWeightFlag() ) return eNotApplicable; value = (OdDb::LineWeight)pObj->getLineWeight(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgLinearHatchPatternLineWeightProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLinearHatchPatternPtr pObj = OdDgLinearHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDb::LineWeight* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setLineWeight(*(OdUInt32*)pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: UseLineWeight //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgLinearHatchPatternUseLineWeightProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinearHatchPatternPtr pObj = OdDgLinearHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getUseLineWeightFlag(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgLinearHatchPatternUseLineWeightProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLinearHatchPatternPtr pObj = OdDgLinearHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setUseLineWeightFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: LineColor //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgLinearHatchPatternLineColorProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinearHatchPatternPtr pObj = OdDgLinearHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; if( !pObj->getUseLineColorFlag() ) return eNotApplicable; OdCmEntityColor cmColor; OdUInt32 uColorIndex = pObj->getLineColorIndex(); if( uColorIndex == OdDg::kColorByLevel ) cmColor.setColorMethod( OdCmEntityColor::kByLayer ); else if( uColorIndex == OdDg::kColorByCell ) cmColor.setColorMethod( OdCmEntityColor::kByBlock ); else cmColor.setColorIndex( (OdInt16)uColorIndex ); value = cmColor; return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgLinearHatchPatternLineColorProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLinearHatchPatternPtr pObj = OdDgLinearHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdCmEntityColor* pValue = rxvalue_cast(&value); if( pValue ) { OdUInt32 uIndex = 0; switch( pValue->colorMethod() ) { case OdCmEntityColor::kByLayer: uIndex = OdDg::kColorByLevel; break; case OdCmEntityColor::kByBlock: uIndex = OdDg::kColorByCell; break; case OdCmEntityColor::kByACI: case OdCmEntityColor::kByDgnIndex: case OdCmEntityColor::kByPen: uIndex = pValue->colorIndex(); break; default: return eNotApplicable; } pObj->setLineColorIndex(uIndex); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: UseLineColor //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgLinearHatchPatternUseLineColorProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinearHatchPatternPtr pObj = OdDgLinearHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getUseLineColorFlag(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgLinearHatchPatternUseLineColorProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLinearHatchPatternPtr pObj = OdDgLinearHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setUseLineColorFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // class: OdDgCrossHatchPattern //----------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------- // property: Space1 //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgCrossHatchPatternSpace1Property::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgCrossHatchPatternPtr pObj = OdDgCrossHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSpace1(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgCrossHatchPatternSpace1Property::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgCrossHatchPatternPtr pObj = OdDgCrossHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setSpace1(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: Space2 //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgCrossHatchPatternSpace2Property::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgCrossHatchPatternPtr pObj = OdDgCrossHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSpace2(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgCrossHatchPatternSpace2Property::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgCrossHatchPatternPtr pObj = OdDgCrossHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setSpace2(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: Angle1 //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgCrossHatchPatternAngle1Property::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgCrossHatchPatternPtr pObj = OdDgCrossHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getAngle1(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgCrossHatchPatternAngle1Property::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgCrossHatchPatternPtr pObj = OdDgCrossHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setAngle1(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: Angle2 //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgCrossHatchPatternAngle2Property::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgCrossHatchPatternPtr pObj = OdDgCrossHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getAngle2(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgCrossHatchPatternAngle2Property::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgCrossHatchPatternPtr pObj = OdDgCrossHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setAngle2(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: LineStyleEntryId //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgCrossHatchPatternLineStyleEntryIdProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgCrossHatchPatternPtr pObj = OdDgCrossHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; if( !pObj->getUseLineStyleFlag() ) return eNotApplicable; value = pObj->getLineStyleEntryId(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgCrossHatchPatternLineStyleEntryIdProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgCrossHatchPatternPtr pObj = OdDgCrossHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt32* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setLineStyleEntryId(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: UseLineStyle //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgCrossHatchPatternUseLineStyleProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgCrossHatchPatternPtr pObj = OdDgCrossHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getUseLineStyleFlag(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgCrossHatchPatternUseLineStyleProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgCrossHatchPatternPtr pObj = OdDgCrossHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setUseLineStyleFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: LineWeight //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgCrossHatchPatternLineWeightProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgCrossHatchPatternPtr pObj = OdDgCrossHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; if( !pObj->getUseLineWeightFlag() ) return eNotApplicable; value = (OdDb::LineWeight)pObj->getLineWeight(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgCrossHatchPatternLineWeightProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgCrossHatchPatternPtr pObj = OdDgCrossHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDb::LineWeight* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setLineWeight(*(OdUInt32*)pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: UseLineWeight //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgCrossHatchPatternUseLineWeightProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgCrossHatchPatternPtr pObj = OdDgCrossHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getUseLineWeightFlag(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgCrossHatchPatternUseLineWeightProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgCrossHatchPatternPtr pObj = OdDgCrossHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setUseLineWeightFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: LineColor //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgCrossHatchPatternLineColorProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgCrossHatchPatternPtr pObj = OdDgCrossHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; if( !pObj->getUseLineColorFlag() ) return eNotApplicable; OdCmEntityColor cmColor; OdUInt32 uColorIndex = pObj->getLineColorIndex(); if( uColorIndex == OdDg::kColorByLevel ) cmColor.setColorMethod( OdCmEntityColor::kByLayer ); else if( uColorIndex == OdDg::kColorByCell ) cmColor.setColorMethod( OdCmEntityColor::kByBlock ); else cmColor.setColorIndex( (OdInt16)uColorIndex ); value = cmColor; return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgCrossHatchPatternLineColorProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgCrossHatchPatternPtr pObj = OdDgCrossHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdCmEntityColor* pValue = rxvalue_cast(&value); if( pValue ) { OdUInt32 uIndex = 0; switch( pValue->colorMethod() ) { case OdCmEntityColor::kByLayer: uIndex = OdDg::kColorByLevel; break; case OdCmEntityColor::kByBlock: uIndex = OdDg::kColorByCell; break; case OdCmEntityColor::kByACI: case OdCmEntityColor::kByDgnIndex: case OdCmEntityColor::kByPen: uIndex = pValue->colorIndex(); break; default: return eNotApplicable; } pObj->setLineColorIndex(uIndex); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: UseLineColor //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgCrossHatchPatternUseLineColorProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgCrossHatchPatternPtr pObj = OdDgCrossHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getUseLineColorFlag(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgCrossHatchPatternUseLineColorProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgCrossHatchPatternPtr pObj = OdDgCrossHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setUseLineColorFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // class: OdDgSymbolHatchPattern //----------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------- // property: Space1 //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgSymbolHatchPatternSpace1Property::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgSymbolHatchPatternPtr pObj = OdDgSymbolHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSpace1(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgSymbolHatchPatternSpace1Property::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgSymbolHatchPatternPtr pObj = OdDgSymbolHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setSpace1(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: Space2 //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgSymbolHatchPatternSpace2Property::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgSymbolHatchPatternPtr pObj = OdDgSymbolHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSpace2(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgSymbolHatchPatternSpace2Property::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgSymbolHatchPatternPtr pObj = OdDgSymbolHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setSpace2(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: Angle1 //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgSymbolHatchPatternAngle1Property::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgSymbolHatchPatternPtr pObj = OdDgSymbolHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getAngle1(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgSymbolHatchPatternAngle1Property::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgSymbolHatchPatternPtr pObj = OdDgSymbolHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setAngle1(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: Angle2 //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgSymbolHatchPatternAngle2Property::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgSymbolHatchPatternPtr pObj = OdDgSymbolHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getAngle2(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgSymbolHatchPatternAngle2Property::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgSymbolHatchPatternPtr pObj = OdDgSymbolHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setAngle2(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: LineStyleEntryId //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgSymbolHatchPatternLineStyleEntryIdProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgSymbolHatchPatternPtr pObj = OdDgSymbolHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; if( !pObj->getUseLineStyleFlag() ) return eNotApplicable; value = pObj->getLineStyleEntryId(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgSymbolHatchPatternLineStyleEntryIdProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgSymbolHatchPatternPtr pObj = OdDgSymbolHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt32* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setLineStyleEntryId(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: UseLineStyle //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgSymbolHatchPatternUseLineStyleProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgSymbolHatchPatternPtr pObj = OdDgSymbolHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getUseLineStyleFlag(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgSymbolHatchPatternUseLineStyleProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgSymbolHatchPatternPtr pObj = OdDgSymbolHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setUseLineStyleFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: LineWeight //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgSymbolHatchPatternLineWeightProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgSymbolHatchPatternPtr pObj = OdDgSymbolHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; if( !pObj->getUseLineWeightFlag() ) return eNotApplicable; value = (OdDb::LineWeight)pObj->getLineWeight(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgSymbolHatchPatternLineWeightProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgSymbolHatchPatternPtr pObj = OdDgSymbolHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDb::LineWeight* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setLineWeight(*(OdUInt32*)pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: UseLineWeight //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgSymbolHatchPatternUseLineWeightProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgSymbolHatchPatternPtr pObj = OdDgSymbolHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getUseLineWeightFlag(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgSymbolHatchPatternUseLineWeightProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgSymbolHatchPatternPtr pObj = OdDgSymbolHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setUseLineWeightFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: LineColor //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgSymbolHatchPatternColorProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgSymbolHatchPatternPtr pObj = OdDgSymbolHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; if( !pObj->getUseColorFlag() ) return eNotApplicable; OdCmEntityColor cmColor; OdUInt32 uColorIndex = pObj->getColorIndex(); if( uColorIndex == OdDg::kColorByLevel ) cmColor.setColorMethod( OdCmEntityColor::kByLayer ); else if( uColorIndex == OdDg::kColorByCell ) cmColor.setColorMethod( OdCmEntityColor::kByBlock ); else cmColor.setColorIndex( (OdInt16)uColorIndex ); value = cmColor; return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgSymbolHatchPatternColorProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgSymbolHatchPatternPtr pObj = OdDgSymbolHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdCmEntityColor* pValue = rxvalue_cast(&value); if( pValue ) { OdUInt32 uIndex = 0; switch( pValue->colorMethod() ) { case OdCmEntityColor::kByLayer: uIndex = OdDg::kColorByLevel; break; case OdCmEntityColor::kByBlock: uIndex = OdDg::kColorByCell; break; case OdCmEntityColor::kByACI: case OdCmEntityColor::kByDgnIndex: case OdCmEntityColor::kByPen: uIndex = pValue->colorIndex(); break; default: return eNotApplicable; } pObj->setColorIndex(uIndex); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: UseLineColor //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgSymbolHatchPatternUseColorProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgSymbolHatchPatternPtr pObj = OdDgSymbolHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getUseColorFlag(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgSymbolHatchPatternUseColorProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgSymbolHatchPatternPtr pObj = OdDgSymbolHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setUseColorFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: TrueScale //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgSymbolHatchPatternTrueScaleProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgSymbolHatchPatternPtr pObj = OdDgSymbolHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getTrueScaleFlag(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgSymbolHatchPatternTrueScaleProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgSymbolHatchPatternPtr pObj = OdDgSymbolHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setTrueScaleFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: SymbolId //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgSymbolHatchPatternSymbolIdProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgSymbolHatchPatternPtr pObj = OdDgSymbolHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSymbolId(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgSymbolHatchPatternSymbolIdProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgSymbolHatchPatternPtr pObj = OdDgSymbolHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt64* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setSymbolId(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // class: OdDgDWGHatchPattern //----------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------- // property: PatternName //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgDWGHatchPatternPatternNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgDWGHatchPatternPtr pObj = OdDgDWGHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getPatternName(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgDWGHatchPatternPatternNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgDWGHatchPatternPtr pObj = OdDgDWGHatchPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if( pValue ) { pObj->setPatternName(*pValue); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // property: DwgLines //----------------------------------------------------------------------------------------------------------------------- ODDG_DEFINE_RX_VALUE_ARRAY_ITERATOR(DWGHatchLine); OdRxValueIteratorPtr OdDgDWGHatchPatternDwgLinesProperty::subNewValueIterator(const OdRxObject* pO) const { OdRxValueIteratorPtr res; res = OdRxObjectImpl::createObject(); OdDgDWGHatchPatternPtr pHatch = OdDgDWGHatchPattern::cast(pO); if( !pHatch.isNull() ) { const OdArray arrHatches = pHatch->getHatch(); ((OdRxDWGHatchLineValueIterator*)res.get())->init( arrHatches, 0); } return res; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgDWGHatchPatternDwgLinesProperty::subTryGetCount(const OdRxObject* pO, int& count) const { OdDgDWGHatchPatternPtr pHatch = OdDgDWGHatchPattern::cast(pO); if (pHatch.isNull()) return eNotApplicable; count = pHatch->getHatch().size(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgDWGHatchPatternDwgLinesProperty::subGetValue(const OdRxObject* pO, int index, OdRxValue& value) const { OdDgDWGHatchPatternPtr pHatch = OdDgDWGHatchPattern::cast(pO); if (pHatch.isNull()) return eNotApplicable; if( index < 0 || index >= (int)pHatch->getHatch().size() ) return eInvalidIndex; value = pHatch->getHatch()[index]; return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgDWGHatchPatternDwgLinesProperty::subSetValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgDWGHatchPatternPtr pHatch = OdDgDWGHatchPattern::cast(pO); if (pHatch.isNull()) return eNotApplicable; if( index < 0 || index >= (int)pHatch->getHatch().size() ) return eInvalidIndex; const DWGHatchLine* pValue = rxvalue_cast(&value); if( pValue ) { OdArray arrHatches = pHatch->getHatch(); arrHatches[index] = *pValue; pHatch->setHatch( arrHatches ); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgDWGHatchPatternDwgLinesProperty::subInsertValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgDWGHatchPatternPtr pHatch = OdDgDWGHatchPattern::cast(pO); if (pHatch.isNull()) return eNotApplicable; if( index < 0 ) index = 0; if( index >= (int)pHatch->getHatch().size() ) index = (int)pHatch->getHatch().size(); const DWGHatchLine* pValue = rxvalue_cast(&value); if( pValue ) { OdArray arrHatches = pHatch->getHatch(); arrHatches.insert( arrHatches.begin() + index, *pValue ); pHatch->setHatch( arrHatches ); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgDWGHatchPatternDwgLinesProperty::subRemoveValue(OdRxObject* pO, int index) const { OdDgDWGHatchPatternPtr pHatch = OdDgDWGHatchPattern::cast(pO); if (pHatch.isNull()) return eNotApplicable; if( index < 0 || index >= (int)pHatch->getHatch().size() ) return eInvalidIndex; OdArray arrHatches = pHatch->getHatch(); arrHatches.removeAt(index); pHatch->setHatch( arrHatches ); return eOk; } //----------------------------------------------------------------------------------------------------------------------- // class: OdDgECClassInstance //----------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------- // property: SchemaName //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgECClassInstanceSchemaNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgECClassInstancePtr pObj = OdDgECClassInstance::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSchemaName(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- // property: ClassName //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgECClassInstanceClassNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgECClassInstancePtr pObj = OdDgECClassInstance::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getClassName(); return eOk; } //------------------------------------------------------------------------------------------------------- // OdDgMaterialLayerPattern //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: LayerTypeStr //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternLayerTypeStrProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getLayerTypeStr(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternLayerTypeStrProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setLayerTypeStr(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: LayerType //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternLayerTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getLayerType(); return eOk; } //------------------------------------------------------------------------------------------------------- // Property: MappingType //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternMappingTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getMappingType(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternMappingTypeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgMaterialMap::MappingType* pValue = rxvalue_cast(&value); if (pValue) { pObj->setMappingType(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ScaleMode //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternScaleModeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getScaleMode(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternScaleModeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgMaterialMap::ScaleMode* pValue = rxvalue_cast(&value); if (pValue) { pObj->setScaleMode(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: PatternAngle //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternPatternAngleProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getPatternAngle(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternPatternAngleProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if (pValue) { pObj->setPatternAngle(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: PatternScale //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternPatternScaleProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getPatternScale(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternPatternScaleProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdGeScale3d* pValue = rxvalue_cast(&value); if (pValue) { pObj->setPatternScale(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: PatternOffset //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternPatternOffsetProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getPatternOffset(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternPatternOffsetProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdGePoint2d* pValue = rxvalue_cast(&value); if (pValue) { pObj->setPatternOffset(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Blend //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternBlendProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getBlend(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternBlendProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if (pValue) { pObj->setBlend(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: LayerFlags //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternLayerFlagsProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getLayerFlags(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternLayerFlagsProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt32* pValue = rxvalue_cast(&value); if (pValue) { pObj->setLayerFlags(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: DataFlags //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternDataFlagsProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getDataFlags(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternDataFlagsProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt32* pValue = rxvalue_cast(&value); if (pValue) { pObj->setDataFlags(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ColorGamma //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternColorGammaProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getColorGamma(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternColorGammaProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if (pValue) { pObj->setColorGamma(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: BrightnessColor //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternBrightnessColorProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; OdDoubleColor dblClr = pObj->getBrightnessColor(); OdCmEntityColor cmColor; cmColor.setRGB(OdUInt8(dblClr.dRed * 255), OdUInt8(dblClr.dGreen * 255), OdUInt8(dblClr.dBlue * 255)); value = cmColor; return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternBrightnessColorProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdCmEntityColor* pValue = rxvalue_cast(&value); if (pValue) { if( pValue->colorMethod() == OdCmEntityColor::kByColor ) { OdDoubleColor newColor; newColor.dRed = pValue->red() / 255.0; newColor.dGreen = pValue->green() / 255.0; newColor.dBlue = pValue->blue() / 255.0; pObj->setBrightnessColor(newColor); } else return eInvalidInput; return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: VisibleLayerFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternVisibleLayerFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getVisibleLayerFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternVisibleLayerFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setVisibleLayerFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: TransparentLayerBackgroundFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternTransparentLayerBackgroundFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getTransparentLayerBackgroundFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternTransparentLayerBackgroundFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setTransparentLayerBackgroundFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: FlipYFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternFlipYFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getFlipYFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternFlipYFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setFlipYFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: FlipXFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternFlipXFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getFlipXFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternFlipXFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setFlipXFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: LockScaleFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternLockScaleFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getLockScaleFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternLockScaleFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setLockScaleFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: NoRepeatXFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternNoRepeatXFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getNoRepeatXFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternNoRepeatXFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setNoRepeatXFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: NoRepeatYFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternNoRepeatYFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getNoRepeatYFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternNoRepeatYFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setNoRepeatYFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: MirrorXFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternMirrorXFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getMirrorXFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternMirrorXFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setMirrorXFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: MirrorYFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternMirrorYFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getMirrorYFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternMirrorYFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setMirrorYFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: UserData //------------------------------------------------------------------------------------------------------- ODDG_DEFINE_RX_VALUE_ARRAY_ITERATOR(OdString); OdRxValueIteratorPtr OdDgMaterialLayerPatternUserDataProperty::subNewValueIterator(const OdRxObject* pO) const { OdRxValueIteratorPtr res; res = OdRxObjectImpl::createObject(); OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (!pObj.isNull()) { OdArray arrValues; for (OdUInt32 i = 0; i < pObj->getUserDataCount(); i++) arrValues.push_back(pObj->getUserData(i)); ((OdRxOdStringValueIterator *)res.get())->init(arrValues, 0); } return res; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternUserDataProperty::subTryGetCount(const OdRxObject* pO, int& count) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; count = pObj->getUserDataCount(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternUserDataProperty::subGetValue(const OdRxObject* pO, int index, OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getUserDataCount()) return eInvalidIndex; value = pObj->getUserData(index); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternUserDataProperty::subSetValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getUserDataCount()) return eInvalidIndex; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setUserData(index, *pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternUserDataProperty::subInsertValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->addUserData(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternUserDataProperty::subRemoveValue(OdRxObject* pO, int index) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getUserDataCount()) return eInvalidIndex; pObj->removeUserData(index); return eOk; } //------------------------------------------------------------------------------------------------------- // Property: ExtendedParam //------------------------------------------------------------------------------------------------------- ODDG_DEFINE_RX_VALUE_ARRAY_ITERATOR(OdDgMaterialParam); OdRxValueIteratorPtr OdDgMaterialLayerPatternExtendedParamProperty::subNewValueIterator(const OdRxObject* pO) const { OdRxValueIteratorPtr res; res = OdRxObjectImpl::createObject(); OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (!pObj.isNull()) { OdArray arrValues; for (OdUInt32 i = 0; i < pObj->getExtendedParamCount(); i++) arrValues.push_back(pObj->getExtendedParam(i)); ((OdRxOdDgMaterialParamValueIterator *)res.get())->init(arrValues, 0); } return res; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternExtendedParamProperty::subTryGetCount(const OdRxObject* pO, int& count) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; count = pObj->getExtendedParamCount(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternExtendedParamProperty::subGetValue(const OdRxObject* pO, int index, OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getExtendedParamCount()) return eInvalidIndex; value = pObj->getExtendedParam(index); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternExtendedParamProperty::subSetValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getExtendedParamCount()) return eInvalidIndex; const OdDgMaterialParam* pValue = rxvalue_cast(&value); if (pValue) { pObj->setExtendedParam(index, *pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternExtendedParamProperty::subInsertValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgMaterialParam* pValue = rxvalue_cast(&value); if (pValue) { pObj->addExtendedParam(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialLayerPatternExtendedParamProperty::subRemoveValue(OdRxObject* pO, int index) const { OdDgMaterialLayerPatternPtr pObj = OdDgMaterialLayerPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getExtendedParamCount()) return eInvalidIndex; pObj->deleteExtendedParam(index); return eOk; } //------------------------------------------------------------------------------------------------------- // OdDgMaterialPattern //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: Type //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getType(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternTypeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgMaterialPattern::OdDgMaterialPatternType* pValue = rxvalue_cast(&value); if (pValue) { pObj->setType(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Flags //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternFlagsProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getFlags(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternFlagsProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt32* pValue = rxvalue_cast(&value); if (pValue) { pObj->setFlags(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: MappingType //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternMappingTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getMappingType(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternMappingTypeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgMaterialMap::MappingType* pValue = rxvalue_cast(&value); if (pValue) { pObj->setMappingType(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ImageTextureMappingType //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternImageTextureMappingTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getImageTextureMappingType(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternImageTextureMappingTypeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgMaterialMap::MappingType* pValue = rxvalue_cast(&value); if (pValue) { pObj->setImageTextureMappingType(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ScaleMode //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternScaleModeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getScaleMode(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternScaleModeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgMaterialMap::ScaleMode* pValue = rxvalue_cast(&value); if (pValue) { pObj->setScaleMode(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: UsePattern //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternUsePatternProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getUsePattern(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternUsePatternProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setUsePattern(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: PatternAngle //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternPatternAngleProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getPatternAngle(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternPatternAngleProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if (pValue) { pObj->setPatternAngle(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: PatternScale //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternPatternScaleProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getPatternScale(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternPatternScaleProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdGeScale3d* pValue = rxvalue_cast(&value); if (pValue) { pObj->setPatternScale(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: PatternOffset //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternPatternOffsetProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getPatternOffset(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternPatternOffsetProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdGePoint2d* pValue = rxvalue_cast(&value); if (pValue) { pObj->setPatternOffset(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: UseMapLink //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternUseMapLinkProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getUseMapLink(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternUseMapLinkProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setUseMapLink(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: BumpFlags //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternBumpFlagsProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getBumpFlags(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternBumpFlagsProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt32* pValue = rxvalue_cast(&value); if (pValue) { pObj->setBumpFlags(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: BumpScale //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternBumpScaleProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getBumpScale(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternBumpScaleProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if (pValue) { pObj->setBumpScale(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: PatternWeight //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternPatternWeightProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getPatternWeight(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternPatternWeightProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if (pValue) { pObj->setPatternWeight(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ProjectionAngles //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternProjectionAnglesProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getProjectionAngles(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternProjectionAnglesProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdGeVector3d* pValue = rxvalue_cast(&value); if (pValue) { pObj->setProjectionAngles(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ProjectionScale //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternProjectionScaleProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getProjectionScale(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternProjectionScaleProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdGeScale3d* pValue = rxvalue_cast(&value); if (pValue) { pObj->setProjectionScale(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: UFlip //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternUFlipProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getUFlip(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternUFlipProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdGePoint3d* pValue = rxvalue_cast(&value); if (pValue) { pObj->setUFlip(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: FileName //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternFileNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getFileName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternFileNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setFileName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: isImageTexture //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternisImageTextureProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->isImageTexture(); return eOk; } //------------------------------------------------------------------------------------------------------- // Property: isProceduralTexture //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternisProceduralTextureProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->isProceduralTexture(); return eOk; } //------------------------------------------------------------------------------------------------------- // Property: FlipXFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternFlipXFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getFlipXFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternFlipXFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setFlipXFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: FlipYFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternFlipYFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getFlipYFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternFlipYFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setFlipYFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: LockScaleFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternLockScaleFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getLockScaleFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternLockScaleFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setLockScaleFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: CappedFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternCappedFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getCappedFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternCappedFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setCappedFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: TransparentBackgroundFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternTransparentBackgroundFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getTransparentBackgroundFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternTransparentBackgroundFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setTransparentBackgroundFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: InvertBumpFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternInvertBumpFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getInvertBumpFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternInvertBumpFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setInvertBumpFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: UserData //------------------------------------------------------------------------------------------------------- OdRxValueIteratorPtr OdDgMaterialPatternUserDataProperty::subNewValueIterator(const OdRxObject* pO) const { OdRxValueIteratorPtr res; res = OdRxObjectImpl::createObject(); OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (!pObj.isNull()) { OdArray arrValues; for (OdUInt32 i = 0; i < pObj->getUserDataCount(); i++) arrValues.push_back(pObj->getUserData(i)); ((OdRxOdStringValueIterator *)res.get())->init(arrValues, 0); } return res; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternUserDataProperty::subTryGetCount(const OdRxObject* pO, int& count) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; count = pObj->getUserDataCount(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternUserDataProperty::subGetValue(const OdRxObject* pO, int index, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getUserDataCount()) return eInvalidIndex; value = pObj->getUserData(index); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternUserDataProperty::subSetValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getUserDataCount()) return eInvalidIndex; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setUserData(index, *pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternUserDataProperty::subInsertValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->addUserData(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternUserDataProperty::subRemoveValue(OdRxObject* pO, int index) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getUserDataCount()) return eInvalidIndex; pObj->removeUserData(index); return eOk; } //------------------------------------------------------------------------------------------------------- // Property: ExtendedParam //------------------------------------------------------------------------------------------------------- OdRxValueIteratorPtr OdDgMaterialPatternExtendedParamProperty::subNewValueIterator(const OdRxObject* pO) const { OdRxValueIteratorPtr res; res = OdRxObjectImpl::createObject(); OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (!pObj.isNull()) { OdArray arrValues; for (OdUInt32 i = 0; i < pObj->getExtendedParamCount(); i++) arrValues.push_back(pObj->getExtendedParam(i)); ((OdRxOdDgMaterialParamValueIterator *)res.get())->init(arrValues, 0); } return res; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternExtendedParamProperty::subTryGetCount(const OdRxObject* pO, int& count) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; count = pObj->getExtendedParamCount(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternExtendedParamProperty::subGetValue(const OdRxObject* pO, int index, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getExtendedParamCount()) return eInvalidIndex; value = pObj->getExtendedParam(index); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternExtendedParamProperty::subSetValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getExtendedParamCount()) return eInvalidIndex; const OdDgMaterialParam* pValue = rxvalue_cast(&value); if (pValue) { pObj->setExtendedParam(index, *pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternExtendedParamProperty::subInsertValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgMaterialParam* pValue = rxvalue_cast(&value); if (pValue) { pObj->addExtendedParam(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternExtendedParamProperty::subRemoveValue(OdRxObject* pO, int index) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getExtendedParamCount()) return eInvalidIndex; pObj->deleteExtendedParam(index); return eOk; } //------------------------------------------------------------------------------------------------------- // Property: PatternLayer //------------------------------------------------------------------------------------------------------- ODDG_DEFINE_RX_VALUE_ARRAY_ITERATOR(OdRxObjectPtr); OdRxValueIteratorPtr OdDgMaterialPatternPatternLayerProperty::subNewValueIterator(const OdRxObject* pO) const { OdRxValueIteratorPtr res; res = OdRxObjectImpl::createObject(); OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (!pObj.isNull()) { OdArray arrValues; for (OdUInt32 i = 0; i < pObj->getPatternLayerCount(); i++) arrValues.push_back(pObj->getPatternLayer(i)); ((OdRxOdRxObjectPtrValueIterator *)res.get())->init(arrValues, 0); } return res; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternPatternLayerProperty::subTryGetCount(const OdRxObject* pO, int& count) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; count = pObj->getPatternLayerCount(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternPatternLayerProperty::subGetValue(const OdRxObject* pO, int index, OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getPatternLayerCount()) return eInvalidIndex; value = (OdRxObjectPtr)(pObj->getPatternLayer(index)); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternPatternLayerProperty::subSetValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getPatternLayerCount()) return eInvalidIndex; const OdRxObjectPtr* pValue = rxvalue_cast(&value); if (pValue && (*pValue)->isKindOf(OdDgMaterialLayerPattern::desc()) ) { pObj->getPatternLayer(index) = *pValue; return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternPatternLayerProperty::subInsertValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdRxObjectPtr* pValue = rxvalue_cast(&value); if (pValue && (*pValue)->isKindOf(OdDgMaterialLayerPattern::desc()) ) { pObj->addPatternLayer(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMaterialPatternPatternLayerProperty::subRemoveValue(OdRxObject* pO, int index) const { OdDgMaterialPatternPtr pObj = OdDgMaterialPattern::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getPatternLayerCount()) return eInvalidIndex; pObj->removePatternLayer(index); return eOk; } //------------------------------------------------------------------------------------------------------- // OdDgTagDefinition //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: Type //------------------------------------------------------------------------------------------------------- OdResult OdDgTagDefinitionTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgTagDefinitionPtr pObj = OdDgTagDefinition::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getType(); return eOk; } //------------------------------------------------------------------------------------------------------- // Property: EntryId //------------------------------------------------------------------------------------------------------- OdResult OdDgTagDefinitionEntryIdProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgTagDefinitionPtr pObj = OdDgTagDefinition::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getEntryId(); return eOk; } //------------------------------------------------------------------------------------------------------- // Property: Name //------------------------------------------------------------------------------------------------------- OdResult OdDgTagDefinitionNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgTagDefinitionPtr pObj = OdDgTagDefinition::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgTagDefinitionNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgTagDefinitionPtr pObj = OdDgTagDefinition::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Prompt //------------------------------------------------------------------------------------------------------- OdResult OdDgTagDefinitionPromptProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgTagDefinitionPtr pObj = OdDgTagDefinition::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getPrompt(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgTagDefinitionPromptProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgTagDefinitionPtr pObj = OdDgTagDefinition::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setPrompt(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: String //------------------------------------------------------------------------------------------------------- OdResult OdDgTagDefinitionStringProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgTagDefinitionPtr pObj = OdDgTagDefinition::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getString(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgTagDefinitionStringProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgTagDefinitionPtr pObj = OdDgTagDefinition::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setString(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Int16 //------------------------------------------------------------------------------------------------------- OdResult OdDgTagDefinitionInt16Property::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgTagDefinitionPtr pObj = OdDgTagDefinition::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getInt16(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgTagDefinitionInt16Property::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgTagDefinitionPtr pObj = OdDgTagDefinition::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdInt16* pValue = rxvalue_cast(&value); if (pValue) { pObj->setInt16(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Int32 //------------------------------------------------------------------------------------------------------- OdResult OdDgTagDefinitionInt32Property::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgTagDefinitionPtr pObj = OdDgTagDefinition::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getInt32(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgTagDefinitionInt32Property::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgTagDefinitionPtr pObj = OdDgTagDefinition::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdInt32* pValue = rxvalue_cast(&value); if (pValue) { pObj->setInt32(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Double //------------------------------------------------------------------------------------------------------- OdResult OdDgTagDefinitionDoubleProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgTagDefinitionPtr pObj = OdDgTagDefinition::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getDouble(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgTagDefinitionDoubleProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgTagDefinitionPtr pObj = OdDgTagDefinition::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if (pValue) { pObj->setDouble(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: DisplayTagFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgTagDefinitionDisplayTagFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgTagDefinitionPtr pObj = OdDgTagDefinition::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getDisplayTagFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgTagDefinitionDisplayTagFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgTagDefinitionPtr pObj = OdDgTagDefinition::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setDisplayTagFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: DefaultFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgTagDefinitionDefaultFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgTagDefinitionPtr pObj = OdDgTagDefinition::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getDefaultFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgTagDefinitionDefaultFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgTagDefinitionPtr pObj = OdDgTagDefinition::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setDefaultFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ConfirmFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgTagDefinitionConfirmFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgTagDefinitionPtr pObj = OdDgTagDefinition::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getConfirmFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgTagDefinitionConfirmFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgTagDefinitionPtr pObj = OdDgTagDefinition::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setConfirmFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: VariableFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgTagDefinitionVariableFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgTagDefinitionPtr pObj = OdDgTagDefinition::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getVariableFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgTagDefinitionVariableFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgTagDefinitionPtr pObj = OdDgTagDefinition::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setVariableFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgLinkNode //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: Type //------------------------------------------------------------------------------------------------------- OdResult OdDgLinkNodeTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinkNodePtr pObj = OdDgLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getType(); return eOk; } //------------------------------------------------------------------------------------------------------- // Property: ValidFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgLinkNodeValidFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinkNodePtr pObj = OdDgLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getValidFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- // Property: Name //------------------------------------------------------------------------------------------------------- OdResult OdDgLinkNodeNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinkNodePtr pObj = OdDgLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLinkNodeNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLinkNodePtr pObj = OdDgLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgUnknownLinkNode //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: HandlerName //------------------------------------------------------------------------------------------------------- OdResult OdDgUnknownLinkNodeHandlerNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgUnknownLinkNodePtr pObj = OdDgUnknownLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getHandlerName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgUnknownLinkNodeHandlerNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgUnknownLinkNodePtr pObj = OdDgUnknownLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setHandlerName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Handler //------------------------------------------------------------------------------------------------------- OdResult OdDgUnknownLinkNodeHandlerProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgUnknownLinkNodePtr pObj = OdDgUnknownLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getHandler(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgUnknownLinkNodeHandlerProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgUnknownLinkNodePtr pObj = OdDgUnknownLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setHandler(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ValidFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgUnknownLinkNodeValidFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgUnknownLinkNodePtr pObj = OdDgUnknownLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getValidFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgUnknownLinkNodeValidFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgUnknownLinkNodePtr pObj = OdDgUnknownLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setValidFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgFolderLinkNode //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: SheetIndexPrefix //------------------------------------------------------------------------------------------------------- OdResult OdDgFolderLinkNodeSheetIndexPrefixProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgFolderLinkNodePtr pObj = OdDgFolderLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSheetIndexPrefix(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgFolderLinkNodeSheetIndexPrefixProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgFolderLinkNodePtr pObj = OdDgFolderLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setSheetIndexPrefix(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: SheetIndexSuffix //------------------------------------------------------------------------------------------------------- OdResult OdDgFolderLinkNodeSheetIndexSuffixProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgFolderLinkNodePtr pObj = OdDgFolderLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSheetIndexSuffix(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgFolderLinkNodeSheetIndexSuffixProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgFolderLinkNodePtr pObj = OdDgFolderLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setSheetIndexSuffix(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: LinkTreeDescription //------------------------------------------------------------------------------------------------------- OdResult OdDgFolderLinkNodeLinkTreeDescriptionProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgFolderLinkNodePtr pObj = OdDgFolderLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getLinkTreeDescription(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgFolderLinkNodeLinkTreeDescriptionProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgFolderLinkNodePtr pObj = OdDgFolderLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setLinkTreeDescription(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: SheetStartNumber //------------------------------------------------------------------------------------------------------- OdResult OdDgFolderLinkNodeSheetStartNumberProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgFolderLinkNodePtr pObj = OdDgFolderLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSheetStartNumber(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgFolderLinkNodeSheetStartNumberProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgFolderLinkNodePtr pObj = OdDgFolderLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt32* pValue = rxvalue_cast(&value); if (pValue) { pObj->setSheetStartNumber(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: SheetStartNumber //------------------------------------------------------------------------------------------------------- OdResult OdDgFolderLinkNodeSheetIncrementProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgFolderLinkNodePtr pObj = OdDgFolderLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSheetIncrement(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgFolderLinkNodeSheetIncrementProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgFolderLinkNodePtr pObj = OdDgFolderLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt32* pValue = rxvalue_cast(&value); if (pValue) { pObj->setSheetIncrement(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: SheetNumOfDigit //------------------------------------------------------------------------------------------------------- OdResult OdDgFolderLinkNodeSheetNumOfDigitProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgFolderLinkNodePtr pObj = OdDgFolderLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSheetNumOfDigit(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgFolderLinkNodeSheetNumOfDigitProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgFolderLinkNodePtr pObj = OdDgFolderLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt32* pValue = rxvalue_cast(&value); if (pValue) { pObj->setSheetNumOfDigit(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: SheetAutomaticNamingFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgFolderLinkNodeSheetAutomaticNamingFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgFolderLinkNodePtr pObj = OdDgFolderLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSheetAutomaticNamingFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgFolderLinkNodeSheetAutomaticNamingFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgFolderLinkNodePtr pObj = OdDgFolderLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setSheetAutomaticNamingFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: SheetLeadingZeroFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgFolderLinkNodeSheetLeadingZeroFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgFolderLinkNodePtr pObj = OdDgFolderLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSheetLeadingZeroFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgFolderLinkNodeSheetLeadingZeroFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgFolderLinkNodePtr pObj = OdDgFolderLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setSheetLeadingZeroFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: SheetNamingRuleOfParentFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgFolderLinkNodeSheetNamingRuleOfParentFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgFolderLinkNodePtr pObj = OdDgFolderLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSheetNamingRuleOfParentFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgFolderLinkNodeSheetNamingRuleOfParentFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgFolderLinkNodePtr pObj = OdDgFolderLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setSheetNamingRuleOfParentFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: LastModifiedTime //------------------------------------------------------------------------------------------------------- OdResult OdDgFolderLinkNodeLastModifiedTimeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgFolderLinkNodePtr pObj = OdDgFolderLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getLastModifiedTime(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgFolderLinkNodeLastModifiedTimeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgFolderLinkNodePtr pObj = OdDgFolderLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdTimeStamp* pValue = rxvalue_cast(&value); if (pValue) { pObj->setLastModifiedTime(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Child //------------------------------------------------------------------------------------------------------- OdRxValueIteratorPtr OdDgFolderLinkNodeChildProperty::subNewValueIterator(const OdRxObject* pO) const { OdRxValueIteratorPtr res; res = OdRxObjectImpl::createObject(); OdDgFolderLinkNodePtr pObj = OdDgFolderLinkNode::cast(pO); if (!pObj.isNull()) { OdArray arrValues; for (OdUInt32 i = 0; i < pObj->getChildCount(); i++) arrValues.push_back(pObj->getChild(i)); ((OdRxOdRxObjectPtrValueIterator *)res.get())->init(arrValues, 0); } return res; } //------------------------------------------------------------------------------------------------------- OdResult OdDgFolderLinkNodeChildProperty::subTryGetCount(const OdRxObject* pO, int& count) const { OdDgFolderLinkNodePtr pObj = OdDgFolderLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; count = pObj->getChildCount(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgFolderLinkNodeChildProperty::subGetValue(const OdRxObject* pO, int index, OdRxValue& value) const { OdDgFolderLinkNodePtr pObj = OdDgFolderLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getChildCount()) return eInvalidIndex; value = (OdRxObjectPtr)(pObj->getChild(index)); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgFolderLinkNodeChildProperty::subSetValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgFolderLinkNodePtr pObj = OdDgFolderLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getChildCount()) return eInvalidIndex; const OdRxObjectPtr* pValue = rxvalue_cast(&value); if (pValue && (*pValue)->isKindOf(OdDgLinkNode::desc()) ) { pObj->getChild(index) = *pValue; return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgFolderLinkNodeChildProperty::subInsertValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgFolderLinkNodePtr pObj = OdDgFolderLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdRxObjectPtr* pValue = rxvalue_cast(&value); if (pValue && (*pValue)->isKindOf(OdDgLinkNode::desc())) { pObj->addChild(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgFolderLinkNodeChildProperty::subRemoveValue(OdRxObject* pO, int index) const { OdDgFolderLinkNodePtr pObj = OdDgFolderLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getChildCount()) return eInvalidIndex; pObj->deleteChild(index); return eOk; } //------------------------------------------------------------------------------------------------------- // OdDgFileLinkNode //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: FileName //------------------------------------------------------------------------------------------------------- OdResult OdDgFileLinkNodeFileNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgFileLinkNodePtr pObj = OdDgFileLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getFileName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgFileLinkNodeFileNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgFileLinkNodePtr pObj = OdDgFileLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setFileName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: FullPath //------------------------------------------------------------------------------------------------------- OdResult OdDgFileLinkNodeFullPathProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgFileLinkNodePtr pObj = OdDgFileLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getFullPath(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgFileLinkNodeFullPathProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgFileLinkNodePtr pObj = OdDgFileLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setFullPath(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ValidFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgFileLinkNodeValidFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgFileLinkNodePtr pObj = OdDgFileLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getValidFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgFileLinkNodeValidFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgFileLinkNodePtr pObj = OdDgFileLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setValidFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: RelativeFileLinkFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgFileLinkNodeRelativeFileLinkFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgFileLinkNodePtr pObj = OdDgFileLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getRelativeFileLinkFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgFileLinkNodeRelativeFileLinkFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgFileLinkNodePtr pObj = OdDgFileLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setRelativeFileLinkFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgModelLinkNode //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: ModelType //------------------------------------------------------------------------------------------------------- OdResult OdDgModelLinkNodeModelTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgModelLinkNodePtr pObj = OdDgModelLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getModelType(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgModelLinkNodeModelTypeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgModelLinkNodePtr pObj = OdDgModelLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgModelLinkNode::OdDgModelLinkNodeType* pValue = rxvalue_cast(&value); if (pValue) { pObj->setModelType(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ModelTypeName //------------------------------------------------------------------------------------------------------- OdResult OdDgModelLinkNodeModelTypeNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgModelLinkNodePtr pObj = OdDgModelLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getModelTypeName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgModelLinkNodeModelTypeNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgModelLinkNodePtr pObj = OdDgModelLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setModelTypeName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ModelName //------------------------------------------------------------------------------------------------------- OdResult OdDgModelLinkNodeModelNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgModelLinkNodePtr pObj = OdDgModelLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getModelName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgModelLinkNodeModelNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgModelLinkNodePtr pObj = OdDgModelLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setModelName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ExtendedModelTypeName //------------------------------------------------------------------------------------------------------- OdResult OdDgModelLinkNodeExtendedModelTypeNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgModelLinkNodePtr pObj = OdDgModelLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getExtendedModelTypeName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgModelLinkNodeExtendedModelTypeNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgModelLinkNodePtr pObj = OdDgModelLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setExtendedModelTypeName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ExtendedModelMarkUpTypeName //------------------------------------------------------------------------------------------------------- OdResult OdDgModelLinkNodeExtendedModelMarkUpTypeNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgModelLinkNodePtr pObj = OdDgModelLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getExtendedModelMarkUpTypeName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgModelLinkNodeExtendedModelMarkUpTypeNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgModelLinkNodePtr pObj = OdDgModelLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setExtendedModelMarkUpTypeName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: SheetName //------------------------------------------------------------------------------------------------------- OdResult OdDgModelLinkNodeSheetNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgModelLinkNodePtr pObj = OdDgModelLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSheetName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgModelLinkNodeSheetNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgModelLinkNodePtr pObj = OdDgModelLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setSheetName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ExcludeFromIndexFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgModelLinkNodeExcludeFromIndexFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgModelLinkNodePtr pObj = OdDgModelLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getExcludeFromIndexFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgModelLinkNodeExcludeFromIndexFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgModelLinkNodePtr pObj = OdDgModelLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setExcludeFromIndexFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ExcludeFromSqnNumberFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgModelLinkNodeExcludeFromSqnNumberFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgModelLinkNodePtr pObj = OdDgModelLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getExcludeFromSqnNumberFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgModelLinkNodeExcludeFromSqnNumberFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgModelLinkNodePtr pObj = OdDgModelLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setExcludeFromSqnNumberFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ModelLinkModelDimension //------------------------------------------------------------------------------------------------------- OdResult OdDgModelLinkNodeModelLinkModelDimensionProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgModelLinkNodePtr pObj = OdDgModelLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getModelLinkModelDimension(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgModelLinkNodeModelLinkModelDimensionProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgModelLinkNodePtr pObj = OdDgModelLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt32* pValue = rxvalue_cast(&value); if (pValue) { pObj->setModelLinkModelDimension(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgRegionLinkNode //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: RegionType //------------------------------------------------------------------------------------------------------- OdResult OdDgRegionLinkNodeRegionTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgRegionLinkNodePtr pObj = OdDgRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getRegionType(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgRegionLinkNodeRegionTypeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgRegionLinkNodePtr pObj = OdDgRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgRegionLinkNode::OdDgRegionLinkNodeType* pValue = rxvalue_cast(&value); if (pValue) { pObj->setRegionType(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: RegionTypeName //------------------------------------------------------------------------------------------------------- OdResult OdDgRegionLinkNodeRegionTypeNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgRegionLinkNodePtr pObj = OdDgRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getRegionTypeName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgRegionLinkNodeRegionTypeNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgRegionLinkNodePtr pObj = OdDgRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setRegionTypeName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: RegionName //------------------------------------------------------------------------------------------------------- OdResult OdDgRegionLinkNodeRegionNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgRegionLinkNodePtr pObj = OdDgRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getRegionName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgRegionLinkNodeRegionNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgRegionLinkNodePtr pObj = OdDgRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setRegionName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ModelName //------------------------------------------------------------------------------------------------------- OdResult OdDgRegionLinkNodeModelNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgRegionLinkNodePtr pObj = OdDgRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getModelName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgRegionLinkNodeModelNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgRegionLinkNodePtr pObj = OdDgRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setModelName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ModelType //------------------------------------------------------------------------------------------------------- OdResult OdDgRegionLinkNodeModelTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgRegionLinkNodePtr pObj = OdDgRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getModelType(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgRegionLinkNodeModelTypeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgRegionLinkNodePtr pObj = OdDgRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgModelLinkNode::OdDgModelLinkNodeType* pValue = rxvalue_cast(&value); if (pValue) { pObj->setModelType(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ModelTypeName //------------------------------------------------------------------------------------------------------- OdResult OdDgRegionLinkNodeModelTypeNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgRegionLinkNodePtr pObj = OdDgRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getModelTypeName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgRegionLinkNodeModelTypeNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgRegionLinkNodePtr pObj = OdDgRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setModelTypeName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ExtendedModelTypeName //------------------------------------------------------------------------------------------------------- OdResult OdDgRegionLinkNodeExtendedModelTypeNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgRegionLinkNodePtr pObj = OdDgRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getExtendedModelTypeName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgRegionLinkNodeExtendedModelTypeNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgRegionLinkNodePtr pObj = OdDgRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setExtendedModelTypeName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ExtendedModelMarkUpTypeName //------------------------------------------------------------------------------------------------------- OdResult OdDgRegionLinkNodeExtendedModelMarkUpTypeNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgRegionLinkNodePtr pObj = OdDgRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getExtendedModelMarkUpTypeName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgRegionLinkNodeExtendedModelMarkUpTypeNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgRegionLinkNodePtr pObj = OdDgRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setExtendedModelMarkUpTypeName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: RegionSubType //------------------------------------------------------------------------------------------------------- OdResult OdDgRegionLinkNodeRegionSubTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgRegionLinkNodePtr pObj = OdDgRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getRegionSubType(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgRegionLinkNodeRegionSubTypeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgRegionLinkNodePtr pObj = OdDgRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setRegionSubType(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: RegionImage //------------------------------------------------------------------------------------------------------- OdResult OdDgRegionLinkNodeRegionImageProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgRegionLinkNodePtr pObj = OdDgRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getRegionImage(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgRegionLinkNodeRegionImageProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgRegionLinkNodePtr pObj = OdDgRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setRegionImage(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgDrawingLinkNode //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: RegionType //------------------------------------------------------------------------------------------------------- OdResult OdDgDrawingLinkNodeRegionTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgDrawingLinkNodePtr pObj = OdDgDrawingLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getRegionType(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgDrawingLinkNodeRegionTypeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgDrawingLinkNodePtr pObj = OdDgDrawingLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgRegionLinkNode::OdDgRegionLinkNodeType* pValue = rxvalue_cast(&value); if (pValue) { pObj->setRegionType(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: RegionTypeName //------------------------------------------------------------------------------------------------------- OdResult OdDgDrawingLinkNodeRegionTypeNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgDrawingLinkNodePtr pObj = OdDgDrawingLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getRegionTypeName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgDrawingLinkNodeRegionTypeNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgDrawingLinkNodePtr pObj = OdDgDrawingLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setRegionTypeName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: RegionName //------------------------------------------------------------------------------------------------------- OdResult OdDgDrawingLinkNodeRegionNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgDrawingLinkNodePtr pObj = OdDgDrawingLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getRegionName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgDrawingLinkNodeRegionNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgDrawingLinkNodePtr pObj = OdDgDrawingLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setRegionName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ModelName //------------------------------------------------------------------------------------------------------- OdResult OdDgDrawingLinkNodeModelNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgDrawingLinkNodePtr pObj = OdDgDrawingLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getModelName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgDrawingLinkNodeModelNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgDrawingLinkNodePtr pObj = OdDgDrawingLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setModelName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ModelType //------------------------------------------------------------------------------------------------------- OdResult OdDgDrawingLinkNodeModelTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgDrawingLinkNodePtr pObj = OdDgDrawingLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getModelType(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgDrawingLinkNodeModelTypeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgDrawingLinkNodePtr pObj = OdDgDrawingLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgModelLinkNode::OdDgModelLinkNodeType* pValue = rxvalue_cast(&value); if (pValue) { pObj->setModelType(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ModelTypeName //------------------------------------------------------------------------------------------------------- OdResult OdDgDrawingLinkNodeModelTypeNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgDrawingLinkNodePtr pObj = OdDgDrawingLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getModelTypeName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgDrawingLinkNodeModelTypeNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgDrawingLinkNodePtr pObj = OdDgDrawingLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setModelTypeName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ExtendedModelTypeName //------------------------------------------------------------------------------------------------------- OdResult OdDgDrawingLinkNodeExtendedModelTypeNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgDrawingLinkNodePtr pObj = OdDgDrawingLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getExtendedModelTypeName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgDrawingLinkNodeExtendedModelTypeNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgDrawingLinkNodePtr pObj = OdDgDrawingLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setExtendedModelTypeName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ExtendedModelMarkUpTypeName //------------------------------------------------------------------------------------------------------- OdResult OdDgDrawingLinkNodeExtendedModelMarkUpTypeNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgDrawingLinkNodePtr pObj = OdDgDrawingLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getExtendedModelMarkUpTypeName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgDrawingLinkNodeExtendedModelMarkUpTypeNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgDrawingLinkNodePtr pObj = OdDgDrawingLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setExtendedModelMarkUpTypeName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: RegionSubType //------------------------------------------------------------------------------------------------------- OdResult OdDgDrawingLinkNodeRegionSubTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgDrawingLinkNodePtr pObj = OdDgDrawingLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getRegionSubType(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgDrawingLinkNodeRegionSubTypeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgDrawingLinkNodePtr pObj = OdDgDrawingLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setRegionSubType(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: RegionImage //------------------------------------------------------------------------------------------------------- OdResult OdDgDrawingLinkNodeRegionImageProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgDrawingLinkNodePtr pObj = OdDgDrawingLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getRegionImage(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgDrawingLinkNodeRegionImageProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgDrawingLinkNodePtr pObj = OdDgDrawingLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setRegionImage(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgLinkToFolderNode //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: RelativePath //------------------------------------------------------------------------------------------------------- OdResult OdDgLinkToFolderNodeRelativePathProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinkToFolderNodePtr pObj = OdDgLinkToFolderNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getRelativePath(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLinkToFolderNodeRelativePathProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLinkToFolderNodePtr pObj = OdDgLinkToFolderNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setRelativePath(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: RelativePath //------------------------------------------------------------------------------------------------------- OdResult OdDgLinkToFolderNodeFullPathProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinkToFolderNodePtr pObj = OdDgLinkToFolderNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getFullPath(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLinkToFolderNodeFullPathProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLinkToFolderNodePtr pObj = OdDgLinkToFolderNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setFullPath(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ValidFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgLinkToFolderNodeValidFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinkToFolderNodePtr pObj = OdDgLinkToFolderNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getValidFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLinkToFolderNodeValidFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLinkToFolderNodePtr pObj = OdDgLinkToFolderNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setValidFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: RelativeFileLinkFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgLinkToFolderNodeRelativeFileLinkFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinkToFolderNodePtr pObj = OdDgLinkToFolderNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getRelativeFileLinkFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLinkToFolderNodeRelativeFileLinkFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLinkToFolderNodePtr pObj = OdDgLinkToFolderNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setRelativeFileLinkFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Filter //------------------------------------------------------------------------------------------------------- OdResult OdDgLinkToFolderNodeFilterProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinkToFolderNodePtr pObj = OdDgLinkToFolderNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getFilter(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLinkToFolderNodeFilterProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLinkToFolderNodePtr pObj = OdDgLinkToFolderNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setFilter(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgLinkSetLinkNode //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: LinkFilePath //------------------------------------------------------------------------------------------------------- OdResult OdDgLinkSetLinkNodeLinkFilePathProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinkSetLinkNodePtr pObj = OdDgLinkSetLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getLinkFilePath(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLinkSetLinkNodeLinkFilePathProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLinkSetLinkNodePtr pObj = OdDgLinkSetLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setLinkFilePath(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: LinkSetName //------------------------------------------------------------------------------------------------------- OdResult OdDgLinkSetLinkNodeLinkSetNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinkSetLinkNodePtr pObj = OdDgLinkSetLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getLinkSetName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLinkSetLinkNodeLinkSetNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLinkSetLinkNodePtr pObj = OdDgLinkSetLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setLinkSetName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: LinkTreeKey //------------------------------------------------------------------------------------------------------- OdResult OdDgLinkSetLinkNodeLinkTreeKeyProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinkSetLinkNodePtr pObj = OdDgLinkSetLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getLinkTreeKey(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLinkSetLinkNodeLinkTreeKeyProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLinkSetLinkNodePtr pObj = OdDgLinkSetLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt32* pValue = rxvalue_cast(&value); if (pValue) { pObj->setLinkTreeKey(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgConfigurationVariableLinkNode //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: ValidFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgConfigurationVariableLinkNodeValidFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgConfigurationVariableLinkNodePtr pObj = OdDgConfigurationVariableLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getValidFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgConfigurationVariableLinkNodeValidFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgConfigurationVariableLinkNodePtr pObj = OdDgConfigurationVariableLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setValidFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: VariableName //------------------------------------------------------------------------------------------------------- OdResult OdDgConfigurationVariableLinkNodeVariableNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgConfigurationVariableLinkNodePtr pObj = OdDgConfigurationVariableLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getVariableName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgConfigurationVariableLinkNodeVariableNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgConfigurationVariableLinkNodePtr pObj = OdDgConfigurationVariableLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setVariableName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: VariableFilterString //------------------------------------------------------------------------------------------------------- OdResult OdDgConfigurationVariableLinkNodeVariableFilterStringProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgConfigurationVariableLinkNodePtr pObj = OdDgConfigurationVariableLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getVariableFilterString(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgConfigurationVariableLinkNodeVariableFilterStringProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgConfigurationVariableLinkNodePtr pObj = OdDgConfigurationVariableLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setVariableFilterString(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: VariableExpressionFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgConfigurationVariableLinkNodeVariableExpressionFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgConfigurationVariableLinkNodePtr pObj = OdDgConfigurationVariableLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getVariableExpressionFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgConfigurationVariableLinkNodeVariableExpressionFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgConfigurationVariableLinkNodePtr pObj = OdDgConfigurationVariableLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt32* pValue = rxvalue_cast(&value); if (pValue) { pObj->setVariableExpressionFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: VariableFileFilter //------------------------------------------------------------------------------------------------------- OdResult OdDgConfigurationVariableLinkNodeVariableFileFilterProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgConfigurationVariableLinkNodePtr pObj = OdDgConfigurationVariableLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getVariableFileFilter(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgConfigurationVariableLinkNodeVariableFileFilterProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgConfigurationVariableLinkNodePtr pObj = OdDgConfigurationVariableLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setVariableFileFilter(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: VariableProcessSubDirectories //------------------------------------------------------------------------------------------------------- OdResult OdDgConfigurationVariableLinkNodeVariableProcessSubDirectoriesProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgConfigurationVariableLinkNodePtr pObj = OdDgConfigurationVariableLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getVariableProcessSubDirectories(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgConfigurationVariableLinkNodeVariableProcessSubDirectoriesProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgConfigurationVariableLinkNodePtr pObj = OdDgConfigurationVariableLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setVariableProcessSubDirectories(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgPdfRegionLinkNode //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: PdfInfoItems //------------------------------------------------------------------------------------------------------- ODDG_DEFINE_RX_VALUE_ARRAY_ITERATOR(OdDgPdfRegionInfoItem); OdRxValueIteratorPtr OdDgPdfRegionLinkNodePdfInfoItemsProperty::subNewValueIterator(const OdRxObject* pO) const { OdRxValueIteratorPtr res; res = OdRxObjectImpl::createObject(); OdDgPdfRegionLinkNodePtr pObj = OdDgPdfRegionLinkNode::cast(pO); if (!pObj.isNull()) { OdArray arrValues; for (OdUInt32 i = 0; i < pObj->getPdfInfoItemCount(); i++) arrValues.push_back(pObj->getPdfInfoItem(i)); ((OdRxOdDgPdfRegionInfoItemValueIterator *)res.get())->init(arrValues, 0); } return res; } //------------------------------------------------------------------------------------------------------- OdResult OdDgPdfRegionLinkNodePdfInfoItemsProperty::subTryGetCount(const OdRxObject* pO, int& count) const { OdDgPdfRegionLinkNodePtr pObj = OdDgPdfRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; count = pObj->getPdfInfoItemCount(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgPdfRegionLinkNodePdfInfoItemsProperty::subGetValue(const OdRxObject* pO, int index, OdRxValue& value) const { OdDgPdfRegionLinkNodePtr pObj = OdDgPdfRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getPdfInfoItemCount()) return eInvalidIndex; value = pObj->getPdfInfoItem(index); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgPdfRegionLinkNodePdfInfoItemsProperty::subSetValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgPdfRegionLinkNodePtr pObj = OdDgPdfRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getPdfInfoItemCount()) return eInvalidIndex; const OdDgPdfRegionInfoItem* pValue = rxvalue_cast(&value); if (pValue) { pObj->setPdfInfoItem(index, *pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgPdfRegionLinkNodePdfInfoItemsProperty::subInsertValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgPdfRegionLinkNodePtr pObj = OdDgPdfRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgPdfRegionInfoItem* pValue = rxvalue_cast(&value); if (pValue) { pObj->addPdfInfoItem(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgPdfRegionLinkNodePdfInfoItemsProperty::subRemoveValue(OdRxObject* pO, int index) const { OdDgPdfRegionLinkNodePtr pObj = OdDgPdfRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getPdfInfoItemCount()) return eInvalidIndex; pObj->deletePdfInfoItem(index); return eOk; } //------------------------------------------------------------------------------------------------------- // OdDgExcelSheetLinkNode //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: SheetName //------------------------------------------------------------------------------------------------------- OdResult OdDgExcelSheetLinkNodeSheetNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgExcelSheetLinkNodePtr pObj = OdDgExcelSheetLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSheetName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgExcelSheetLinkNodeSheetNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgExcelSheetLinkNodePtr pObj = OdDgExcelSheetLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setSheetName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgWordHeadingLinkNode //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: InfoItems //------------------------------------------------------------------------------------------------------- ODDG_DEFINE_RX_VALUE_ARRAY_ITERATOR(OdDgWordHeadingInfoItem); OdRxValueIteratorPtr OdDgWordHeadingLinkNodeInfoItemsProperty::subNewValueIterator(const OdRxObject* pO) const { OdRxValueIteratorPtr res; res = OdRxObjectImpl::createObject(); OdDgWordHeadingLinkNodePtr pObj = OdDgWordHeadingLinkNode::cast(pO); if (!pObj.isNull()) { OdArray arrValues; for (OdUInt32 i = 0; i < pObj->getInfoItemCount(); i++) arrValues.push_back(pObj->getInfoItem(i)); ((OdRxOdDgWordHeadingInfoItemValueIterator *)res.get())->init(arrValues, 0); } return res; } //------------------------------------------------------------------------------------------------------- OdResult OdDgWordHeadingLinkNodeInfoItemsProperty::subTryGetCount(const OdRxObject* pO, int& count) const { OdDgWordHeadingLinkNodePtr pObj = OdDgWordHeadingLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; count = pObj->getInfoItemCount(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgWordHeadingLinkNodeInfoItemsProperty::subGetValue(const OdRxObject* pO, int index, OdRxValue& value) const { OdDgWordHeadingLinkNodePtr pObj = OdDgWordHeadingLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getInfoItemCount()) return eInvalidIndex; value = pObj->getInfoItem(index); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgWordHeadingLinkNodeInfoItemsProperty::subSetValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgWordHeadingLinkNodePtr pObj = OdDgWordHeadingLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getInfoItemCount()) return eInvalidIndex; const OdDgWordHeadingInfoItem* pValue = rxvalue_cast(&value); if (pValue) { pObj->setInfoItem(index, *pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgWordHeadingLinkNodeInfoItemsProperty::subInsertValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgWordHeadingLinkNodePtr pObj = OdDgWordHeadingLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgWordHeadingInfoItem* pValue = rxvalue_cast(&value); if (pValue) { pObj->addInfoItem(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgWordHeadingLinkNodeInfoItemsProperty::subRemoveValue(OdRxObject* pO, int index) const { OdDgWordHeadingLinkNodePtr pObj = OdDgWordHeadingLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getInfoItemCount()) return eInvalidIndex; pObj->deleteInfoItem(index); return eOk; } //------------------------------------------------------------------------------------------------------- // OdDgWordRegionLinkNode //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: RegionType //------------------------------------------------------------------------------------------------------- OdResult OdDgWordRegionLinkNodeRegionTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgWordRegionLinkNodePtr pObj = OdDgWordRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getRegionType(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgWordRegionLinkNodeRegionTypeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgWordRegionLinkNodePtr pObj = OdDgWordRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgWordHeadingInfoItem::OdDgWordHeadingItemType* pValue = rxvalue_cast(&value); if (pValue) { pObj->setRegionType(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: RegionTypeName //------------------------------------------------------------------------------------------------------- OdResult OdDgWordRegionLinkNodeRegionTypeNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgWordRegionLinkNodePtr pObj = OdDgWordRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getRegionTypeName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgWordRegionLinkNodeRegionTypeNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgWordRegionLinkNodePtr pObj = OdDgWordRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setRegionTypeName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: RegionName //------------------------------------------------------------------------------------------------------- OdResult OdDgWordRegionLinkNodeRegionNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgWordRegionLinkNodePtr pObj = OdDgWordRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getRegionName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgWordRegionLinkNodeRegionNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgWordRegionLinkNodePtr pObj = OdDgWordRegionLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setRegionName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgURLLinkNode //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: URL //------------------------------------------------------------------------------------------------------- OdResult OdDgURLLinkNodeURLProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgURLLinkNodePtr pObj = OdDgURLLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getURL(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgURLLinkNodeURLProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgURLLinkNodePtr pObj = OdDgURLLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setURL(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ValidFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgURLLinkNodeValidFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgURLLinkNodePtr pObj = OdDgURLLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getValidFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgURLLinkNodeValidFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgURLLinkNodePtr pObj = OdDgURLLinkNode::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setValidFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgAssocPointRoot //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: Type //------------------------------------------------------------------------------------------------------- OdResult OdDgAssocPointRootTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgAssocPointRootPtr pObj = OdDgAssocPointRoot::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getType(); return eOk; } //------------------------------------------------------------------------------------------------------- // Property: ElementId //------------------------------------------------------------------------------------------------------- OdResult OdDgAssocPointRootElementIdProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgAssocPointRootPtr pObj = OdDgAssocPointRoot::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getElementId(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgAssocPointRootElementIdProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgAssocPointRootPtr pObj = OdDgAssocPointRoot::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt64* pValue = rxvalue_cast(&value); if (pValue) { pObj->setElementId(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: RefAttachmentId //------------------------------------------------------------------------------------------------------- OdResult OdDgAssocPointRootRefAttachmentIdProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgAssocPointRootPtr pObj = OdDgAssocPointRoot::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getRefAttachmentId(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgAssocPointRootRefAttachmentIdProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgAssocPointRootPtr pObj = OdDgAssocPointRoot::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt64* pValue = rxvalue_cast(&value); if (pValue) { pObj->setRefAttachmentId(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgLinearAssociation //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: VertexNumber //------------------------------------------------------------------------------------------------------- OdResult OdDgLinearAssociationVertexNumberProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinearAssociationPtr pObj = OdDgLinearAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getVertexNumber(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLinearAssociationVertexNumberProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLinearAssociationPtr pObj = OdDgLinearAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt16* pValue = rxvalue_cast(&value); if (pValue) { pObj->setVertexNumber(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Numerator //------------------------------------------------------------------------------------------------------- OdResult OdDgLinearAssociationNumeratorProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinearAssociationPtr pObj = OdDgLinearAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getNumerator(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLinearAssociationNumeratorProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLinearAssociationPtr pObj = OdDgLinearAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt16* pValue = rxvalue_cast(&value); if (pValue) { pObj->setNumerator(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Divisor //------------------------------------------------------------------------------------------------------- OdResult OdDgLinearAssociationDivisorProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinearAssociationPtr pObj = OdDgLinearAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getDivisor(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLinearAssociationDivisorProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLinearAssociationPtr pObj = OdDgLinearAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt16* pValue = rxvalue_cast(&value); if (pValue) { pObj->setDivisor(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: NVertices //------------------------------------------------------------------------------------------------------- OdResult OdDgLinearAssociationNVerticesProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinearAssociationPtr pObj = OdDgLinearAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getNVertices(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLinearAssociationNVerticesProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLinearAssociationPtr pObj = OdDgLinearAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt16* pValue = rxvalue_cast(&value); if (pValue) { pObj->setNVertices(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgIntersectAssociation //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: Index //------------------------------------------------------------------------------------------------------- OdResult OdDgIntersectAssociationIndexProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgIntersectAssociationPtr pObj = OdDgIntersectAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getIndex(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgIntersectAssociationIndexProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgIntersectAssociationPtr pObj = OdDgIntersectAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt8* pValue = rxvalue_cast(&value); if (pValue) { pObj->setIndex(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Element2Id //------------------------------------------------------------------------------------------------------- OdResult OdDgIntersectAssociationElement2IdProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgIntersectAssociationPtr pObj = OdDgIntersectAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getElement2Id(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgIntersectAssociationElement2IdProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgIntersectAssociationPtr pObj = OdDgIntersectAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt64* pValue = rxvalue_cast(&value); if (pValue) { pObj->setElement2Id(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: RefAttachment2Id //------------------------------------------------------------------------------------------------------- OdResult OdDgIntersectAssociationRefAttachment2IdProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgIntersectAssociationPtr pObj = OdDgIntersectAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getRefAttachment2Id(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgIntersectAssociationRefAttachment2IdProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgIntersectAssociationPtr pObj = OdDgIntersectAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt64* pValue = rxvalue_cast(&value); if (pValue) { pObj->setRefAttachment2Id(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgArcAssociation //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: KeyPoint //------------------------------------------------------------------------------------------------------- OdResult OdDgArcAssociationKeyPointProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgArcAssociationPtr pObj = OdDgArcAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getKeyPoint(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgArcAssociationKeyPointProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgArcAssociationPtr pObj = OdDgArcAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgArcAssociation::OdDgArcAssociationKeyPoint* pValue = rxvalue_cast(&value); if (pValue) { pObj->setKeyPoint(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Angle //------------------------------------------------------------------------------------------------------- OdResult OdDgArcAssociationAngleProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgArcAssociationPtr pObj = OdDgArcAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getAngle(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgArcAssociationAngleProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgArcAssociationPtr pObj = OdDgArcAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if (pValue) { pObj->setAngle(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgMultilineAssociation //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: VertexNumber //------------------------------------------------------------------------------------------------------- OdResult OdDgMultilineAssociationVertexNumberProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMultilineAssociationPtr pObj = OdDgMultilineAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getVertexNumber(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMultilineAssociationVertexNumberProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMultilineAssociationPtr pObj = OdDgMultilineAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt16* pValue = rxvalue_cast(&value); if (pValue) { pObj->setVertexNumber(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: LineNumber //------------------------------------------------------------------------------------------------------- OdResult OdDgMultilineAssociationLineNumberProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMultilineAssociationPtr pObj = OdDgMultilineAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getLineNumber(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMultilineAssociationLineNumberProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMultilineAssociationPtr pObj = OdDgMultilineAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt8* pValue = rxvalue_cast(&value); if (pValue) { pObj->setLineNumber(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: JointFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgMultilineAssociationJointFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMultilineAssociationPtr pObj = OdDgMultilineAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getJointFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMultilineAssociationJointFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMultilineAssociationPtr pObj = OdDgMultilineAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setJointFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ProjectFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgMultilineAssociationProjectFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMultilineAssociationPtr pObj = OdDgMultilineAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getProjectFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMultilineAssociationProjectFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMultilineAssociationPtr pObj = OdDgMultilineAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setProjectFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Offset //------------------------------------------------------------------------------------------------------- OdResult OdDgMultilineAssociationOffsetProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMultilineAssociationPtr pObj = OdDgMultilineAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getOffset(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMultilineAssociationOffsetProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMultilineAssociationPtr pObj = OdDgMultilineAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if (pValue) { pObj->setOffset(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: NVertices //------------------------------------------------------------------------------------------------------- OdResult OdDgMultilineAssociationNVerticesProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMultilineAssociationPtr pObj = OdDgMultilineAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getNVertices(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMultilineAssociationNVerticesProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMultilineAssociationPtr pObj = OdDgMultilineAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt16* pValue = rxvalue_cast(&value); if (pValue) { pObj->setNVertices(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgBSplineCurveAssociation //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: Param //------------------------------------------------------------------------------------------------------- OdResult OdDgBSplineCurveAssociationParamProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgBSplineCurveAssociationPtr pObj = OdDgBSplineCurveAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getParam(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgBSplineCurveAssociationParamProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgBSplineCurveAssociationPtr pObj = OdDgBSplineCurveAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if (pValue) { pObj->setParam(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgProjectionAssociation //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: VertexNumber //------------------------------------------------------------------------------------------------------- OdResult OdDgProjectionAssociationVertexNumberProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgProjectionAssociationPtr pObj = OdDgProjectionAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getVertexNumber(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgProjectionAssociationVertexNumberProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgProjectionAssociationPtr pObj = OdDgProjectionAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt16* pValue = rxvalue_cast(&value); if (pValue) { pObj->setVertexNumber(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Fraction //------------------------------------------------------------------------------------------------------- OdResult OdDgProjectionAssociationFractionProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgProjectionAssociationPtr pObj = OdDgProjectionAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getFraction(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgProjectionAssociationFractionProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgProjectionAssociationPtr pObj = OdDgProjectionAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if (pValue) { pObj->setFraction(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: NVertices //------------------------------------------------------------------------------------------------------- OdResult OdDgProjectionAssociationNVerticesProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgProjectionAssociationPtr pObj = OdDgProjectionAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getNVertices(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgProjectionAssociationNVerticesProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgProjectionAssociationPtr pObj = OdDgProjectionAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt16* pValue = rxvalue_cast(&value); if (pValue) { pObj->setNVertices(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgOriginAssociation //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: TextOriginOption //------------------------------------------------------------------------------------------------------- OdResult OdDgOriginAssociationTextOriginOptionProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgOriginAssociationPtr pObj = OdDgOriginAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getTextOriginOption(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgOriginAssociationTextOriginOptionProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgOriginAssociationPtr pObj = OdDgOriginAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgOriginAssociation::OdDgOriginAssocOption* pValue = rxvalue_cast(&value); if (pValue) { pObj->setTextOriginOption(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgIntersect2Association //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: Index //------------------------------------------------------------------------------------------------------- OdResult OdDgIntersect2AssociationIndexProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgIntersect2AssociationPtr pObj = OdDgIntersect2Association::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getIndex(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgIntersect2AssociationIndexProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgIntersect2AssociationPtr pObj = OdDgIntersect2Association::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt8* pValue = rxvalue_cast(&value); if (pValue) { pObj->setIndex(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: NSeg1 //------------------------------------------------------------------------------------------------------- OdResult OdDgIntersect2AssociationNSeg1Property::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgIntersect2AssociationPtr pObj = OdDgIntersect2Association::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getNSeg1(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgIntersect2AssociationNSeg1Property::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgIntersect2AssociationPtr pObj = OdDgIntersect2Association::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt8* pValue = rxvalue_cast(&value); if (pValue) { pObj->setNSeg1(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: NSeg2 //------------------------------------------------------------------------------------------------------- OdResult OdDgIntersect2AssociationNSeg2Property::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgIntersect2AssociationPtr pObj = OdDgIntersect2Association::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getNSeg2(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgIntersect2AssociationNSeg2Property::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgIntersect2AssociationPtr pObj = OdDgIntersect2Association::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt8* pValue = rxvalue_cast(&value); if (pValue) { pObj->setNSeg2(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Segment1 //------------------------------------------------------------------------------------------------------- OdResult OdDgIntersect2AssociationSegment1Property::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgIntersect2AssociationPtr pObj = OdDgIntersect2Association::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSegment1(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgIntersect2AssociationSegment1Property::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgIntersect2AssociationPtr pObj = OdDgIntersect2Association::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt16* pValue = rxvalue_cast(&value); if (pValue) { pObj->setSegment1(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Segment2 //------------------------------------------------------------------------------------------------------- OdResult OdDgIntersect2AssociationSegment2Property::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgIntersect2AssociationPtr pObj = OdDgIntersect2Association::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSegment2(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgIntersect2AssociationSegment2Property::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgIntersect2AssociationPtr pObj = OdDgIntersect2Association::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt16* pValue = rxvalue_cast(&value); if (pValue) { pObj->setSegment2(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Element2Id //------------------------------------------------------------------------------------------------------- OdResult OdDgIntersect2AssociationElement2IdProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgIntersect2AssociationPtr pObj = OdDgIntersect2Association::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getElement2Id(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgIntersect2AssociationElement2IdProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgIntersect2AssociationPtr pObj = OdDgIntersect2Association::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt64* pValue = rxvalue_cast(&value); if (pValue) { pObj->setElement2Id(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: RefAttachment2Id //------------------------------------------------------------------------------------------------------- OdResult OdDgIntersect2AssociationRefAttachment2IdProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgIntersect2AssociationPtr pObj = OdDgIntersect2Association::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getRefAttachment2Id(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgIntersect2AssociationRefAttachment2IdProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgIntersect2AssociationPtr pObj = OdDgIntersect2Association::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt64* pValue = rxvalue_cast(&value); if (pValue) { pObj->setRefAttachment2Id(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgMeshVertexAssociation //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: VertexIndex //------------------------------------------------------------------------------------------------------- OdResult OdDgMeshVertexAssociationVertexIndexProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMeshVertexAssociationPtr pObj = OdDgMeshVertexAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getVertexIndex(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMeshVertexAssociationVertexIndexProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMeshVertexAssociationPtr pObj = OdDgMeshVertexAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt32* pValue = rxvalue_cast(&value); if (pValue) { pObj->setVertexIndex(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: NVertices //------------------------------------------------------------------------------------------------------- OdResult OdDgMeshVertexAssociationNVerticesProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMeshVertexAssociationPtr pObj = OdDgMeshVertexAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getNVertices(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMeshVertexAssociationNVerticesProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMeshVertexAssociationPtr pObj = OdDgMeshVertexAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt32* pValue = rxvalue_cast(&value); if (pValue) { pObj->setNVertices(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgMeshEdgeAssociation //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: EdgeIndex //------------------------------------------------------------------------------------------------------- OdResult OdDgMeshEdgeAssociationEdgeIndexProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMeshEdgeAssociationPtr pObj = OdDgMeshEdgeAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getEdgeIndex(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMeshEdgeAssociationEdgeIndexProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMeshEdgeAssociationPtr pObj = OdDgMeshEdgeAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt32* pValue = rxvalue_cast(&value); if (pValue) { pObj->setEdgeIndex(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: NEdges //------------------------------------------------------------------------------------------------------- OdResult OdDgMeshEdgeAssociationNEdgesProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMeshEdgeAssociationPtr pObj = OdDgMeshEdgeAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getNEdges(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMeshEdgeAssociationNEdgesProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMeshEdgeAssociationPtr pObj = OdDgMeshEdgeAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt32* pValue = rxvalue_cast(&value); if (pValue) { pObj->setNEdges(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: UParam //------------------------------------------------------------------------------------------------------- OdResult OdDgMeshEdgeAssociationUParamProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgMeshEdgeAssociationPtr pObj = OdDgMeshEdgeAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getUParam(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgMeshEdgeAssociationUParamProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgMeshEdgeAssociationPtr pObj = OdDgMeshEdgeAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if (pValue) { pObj->setUParam(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgBSplineSurfaceAssociation //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: UParam //------------------------------------------------------------------------------------------------------- OdResult OdDgBSplineSurfaceAssociationUParamProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgBSplineSurfaceAssociationPtr pObj = OdDgBSplineSurfaceAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getUParam(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgBSplineSurfaceAssociationUParamProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgBSplineSurfaceAssociationPtr pObj = OdDgBSplineSurfaceAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if (pValue) { pObj->setUParam(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: VParam //------------------------------------------------------------------------------------------------------- OdResult OdDgBSplineSurfaceAssociationVParamProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgBSplineSurfaceAssociationPtr pObj = OdDgBSplineSurfaceAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getVParam(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgBSplineSurfaceAssociationVParamProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgBSplineSurfaceAssociationPtr pObj = OdDgBSplineSurfaceAssociation::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if (pValue) { pObj->setVParam(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgLineStyleResource //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: Type //------------------------------------------------------------------------------------------------------- OdResult OdDgLineStyleResourceTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLineStyleResourcePtr pObj = OdDgLineStyleResource::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getType(); return eOk; } //------------------------------------------------------------------------------------------------------- // OdDgPointSymbolResource //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: Description //------------------------------------------------------------------------------------------------------- OdResult OdDgPointSymbolResourceDescriptionProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgPointSymbolResourcePtr pObj = OdDgPointSymbolResource::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getDescription(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgPointSymbolResourceDescriptionProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgPointSymbolResourcePtr pObj = OdDgPointSymbolResource::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setDescription(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: SymbolOffset //------------------------------------------------------------------------------------------------------- OdResult OdDgPointSymbolResourceSymbolOffsetProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgPointSymbolResourcePtr pObj = OdDgPointSymbolResource::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSymbolOffset(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgPointSymbolResourceSymbolOffsetProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgPointSymbolResourcePtr pObj = OdDgPointSymbolResource::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdGePoint3d* pValue = rxvalue_cast(&value); if (pValue) { pObj->setSymbolOffset(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: SymbolScale //------------------------------------------------------------------------------------------------------- OdResult OdDgPointSymbolResourceSymbolScaleProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgPointSymbolResourcePtr pObj = OdDgPointSymbolResource::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSymbolScale(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgPointSymbolResourceSymbolScaleProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgPointSymbolResourcePtr pObj = OdDgPointSymbolResource::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if (pValue) { pObj->setSymbolScale(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: DependedCellHeaderHandle //------------------------------------------------------------------------------------------------------- OdResult OdDgPointSymbolResourceDependedCellHeaderHandleProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgPointSymbolResourcePtr pObj = OdDgPointSymbolResource::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getDependedCellHeaderHandle(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgPointSymbolResourceDependedCellHeaderHandleProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgPointSymbolResourcePtr pObj = OdDgPointSymbolResource::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt64* pValue = rxvalue_cast(&value); if (pValue) { pObj->setDependedCellHeaderHandle(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: SymbolExtents //------------------------------------------------------------------------------------------------------- OdResult OdDgPointSymbolResourceSymbolExtentsProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgPointSymbolResourcePtr pObj = OdDgPointSymbolResource::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSymbolExtents(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgPointSymbolResourceSymbolExtentsProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgPointSymbolResourcePtr pObj = OdDgPointSymbolResource::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdGeExtents3d* pValue = rxvalue_cast(&value); if (pValue) { pObj->setSymbolExtents(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Symbol3DFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgPointSymbolResourceSymbol3DFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgPointSymbolResourcePtr pObj = OdDgPointSymbolResource::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSymbol3DFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgPointSymbolResourceSymbol3DFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgPointSymbolResourcePtr pObj = OdDgPointSymbolResource::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setSymbol3DFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgCompoundLineStyleResource //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: Description //------------------------------------------------------------------------------------------------------- OdResult OdDgCompoundLineStyleResourceDescriptionProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgCompoundLineStyleResourcePtr pObj = OdDgCompoundLineStyleResource::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getDescription(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgCompoundLineStyleResourceDescriptionProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgCompoundLineStyleResourcePtr pObj = OdDgCompoundLineStyleResource::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setDescription(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Component //------------------------------------------------------------------------------------------------------- ODDG_DEFINE_RX_VALUE_ARRAY_ITERATOR(OdDgCompoundLineStyleComponentInfo); OdRxValueIteratorPtr OdDgCompoundLineStyleResourceComponentProperty::subNewValueIterator(const OdRxObject* pO) const { OdRxValueIteratorPtr res; res = OdRxObjectImpl::createObject(); OdDgCompoundLineStyleResourcePtr pObj = OdDgCompoundLineStyleResource::cast(pO); if (!pObj.isNull()) { OdArray arrValues; for (OdUInt32 i = 0; i < pObj->getComponentCount(); i++) { OdDgCompoundLineStyleComponentInfo tmp; if( pObj->getComponent(i, tmp) ) arrValues.push_back(tmp); } ((OdRxOdDgCompoundLineStyleComponentInfoValueIterator *)res.get())->init(arrValues, 0); } return res; } //------------------------------------------------------------------------------------------------------- OdResult OdDgCompoundLineStyleResourceComponentProperty::subTryGetCount(const OdRxObject* pO, int& count) const { OdDgCompoundLineStyleResourcePtr pObj = OdDgCompoundLineStyleResource::cast(pO); if (pObj.isNull()) return eNotApplicable; count = pObj->getComponentCount(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgCompoundLineStyleResourceComponentProperty::subGetValue(const OdRxObject* pO, int index, OdRxValue& value) const { OdDgCompoundLineStyleResourcePtr pObj = OdDgCompoundLineStyleResource::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getComponentCount()) return eInvalidIndex; OdDgCompoundLineStyleComponentInfo tmp; pObj->getComponent(index, tmp); value = tmp; return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgCompoundLineStyleResourceComponentProperty::subSetValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgCompoundLineStyleResourcePtr pObj = OdDgCompoundLineStyleResource::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getComponentCount()) return eInvalidIndex; const OdDgCompoundLineStyleComponentInfo* pValue = rxvalue_cast(&value); if (pValue) { pObj->setComponent(index, *pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgCompoundLineStyleResourceComponentProperty::subInsertValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgCompoundLineStyleResourcePtr pObj = OdDgCompoundLineStyleResource::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgCompoundLineStyleComponentInfo* pValue = rxvalue_cast(&value); if (pValue) { pObj->addComponent(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgCompoundLineStyleResourceComponentProperty::subRemoveValue(OdRxObject* pO, int index) const { OdDgCompoundLineStyleResourcePtr pObj = OdDgCompoundLineStyleResource::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getComponentCount()) return eInvalidIndex; pObj->deleteComponent(index); return eOk; } //------------------------------------------------------------------------------------------------------- // OdDgLineCodeResource //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: Description //------------------------------------------------------------------------------------------------------- OdResult OdDgLineCodeResourceDescriptionProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLineCodeResourcePtr pObj = OdDgLineCodeResource::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getDescription(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLineCodeResourceDescriptionProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLineCodeResourcePtr pObj = OdDgLineCodeResource::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setDescription(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Phase //------------------------------------------------------------------------------------------------------- OdResult OdDgLineCodeResourcePhaseProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLineCodeResourcePtr pObj = OdDgLineCodeResource::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getPhase(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLineCodeResourcePhaseProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLineCodeResourcePtr pObj = OdDgLineCodeResource::cast(pO); if (pObj.isNull()) return eNotApplicable; const double* pValue = rxvalue_cast(&value); if (pValue) { pObj->setPhase(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: AutoPhaseFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgLineCodeResourceAutoPhaseFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLineCodeResourcePtr pObj = OdDgLineCodeResource::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getAutoPhaseFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLineCodeResourceAutoPhaseFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLineCodeResourcePtr pObj = OdDgLineCodeResource::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setAutoPhaseFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: UseIterationLimitFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgLineCodeResourceUseIterationLimitFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLineCodeResourcePtr pObj = OdDgLineCodeResource::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getUseIterationLimitFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLineCodeResourceUseIterationLimitFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLineCodeResourcePtr pObj = OdDgLineCodeResource::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setUseIterationLimitFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: SingleSegmentModeFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgLineCodeResourceSingleSegmentModeFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLineCodeResourcePtr pObj = OdDgLineCodeResource::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSingleSegmentModeFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLineCodeResourceSingleSegmentModeFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLineCodeResourcePtr pObj = OdDgLineCodeResource::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setSingleSegmentModeFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: CenterStretchPhaseModeFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgLineCodeResourceCenterStretchPhaseModeFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLineCodeResourcePtr pObj = OdDgLineCodeResource::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getCenterStretchPhaseModeFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLineCodeResourceCenterStretchPhaseModeFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLineCodeResourcePtr pObj = OdDgLineCodeResource::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setCenterStretchPhaseModeFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: MaxIterations //------------------------------------------------------------------------------------------------------- OdResult OdDgLineCodeResourceMaxIterationsProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLineCodeResourcePtr pObj = OdDgLineCodeResource::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getMaxIterations(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLineCodeResourceMaxIterationsProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLineCodeResourcePtr pObj = OdDgLineCodeResource::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt32* pValue = rxvalue_cast(&value); if (pValue) { pObj->setMaxIterations(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Stroke //------------------------------------------------------------------------------------------------------- ODDG_DEFINE_RX_VALUE_ARRAY_ITERATOR(OdDgLineCodeResourceStrokeData); OdRxValueIteratorPtr OdDgLineCodeResourceStrokeProperty::subNewValueIterator(const OdRxObject* pO) const { OdRxValueIteratorPtr res; res = OdRxObjectImpl::createObject(); OdDgLineCodeResourcePtr pObj = OdDgLineCodeResource::cast(pO); if (!pObj.isNull()) { OdArray arrValues; for (OdUInt32 i = 0; i < pObj->getStrokeCount(); i++) { OdDgLineCodeResourceStrokeData tmp; if( pObj->getStroke(i, tmp) ) arrValues.push_back(tmp); } ((OdRxOdDgLineCodeResourceStrokeDataValueIterator *)res.get())->init(arrValues, 0); } return res; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLineCodeResourceStrokeProperty::subTryGetCount(const OdRxObject* pO, int& count) const { OdDgLineCodeResourcePtr pObj = OdDgLineCodeResource::cast(pO); if (pObj.isNull()) return eNotApplicable; count = pObj->getStrokeCount(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLineCodeResourceStrokeProperty::subGetValue(const OdRxObject* pO, int index, OdRxValue& value) const { OdDgLineCodeResourcePtr pObj = OdDgLineCodeResource::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getStrokeCount()) return eInvalidIndex; OdDgLineCodeResourceStrokeData tmp; pObj->getStroke(index, tmp); value = tmp; return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLineCodeResourceStrokeProperty::subSetValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgLineCodeResourcePtr pObj = OdDgLineCodeResource::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getStrokeCount()) return eInvalidIndex; const OdDgLineCodeResourceStrokeData* pValue = rxvalue_cast(&value); if (pValue) { pObj->setStroke(index, *pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLineCodeResourceStrokeProperty::subInsertValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgLineCodeResourcePtr pObj = OdDgLineCodeResource::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgLineCodeResourceStrokeData* pValue = rxvalue_cast(&value); if (pValue) { pObj->addStroke(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLineCodeResourceStrokeProperty::subRemoveValue(OdRxObject* pO, int index) const { OdDgLineCodeResourcePtr pObj = OdDgLineCodeResource::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getStrokeCount()) return eInvalidIndex; pObj->deleteStroke(index); return eOk; } //------------------------------------------------------------------------------------------------------- // OdDgLinePointResource //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: Description //------------------------------------------------------------------------------------------------------- OdResult OdDgLinePointResourceDescriptionProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinePointResourcePtr pObj = OdDgLinePointResource::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getDescription(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLinePointResourceDescriptionProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLinePointResourcePtr pObj = OdDgLinePointResource::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setDescription(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: BasePatternType //------------------------------------------------------------------------------------------------------- OdResult OdDgLinePointResourceBasePatternTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinePointResourcePtr pObj = OdDgLinePointResource::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getBasePatternType(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLinePointResourceBasePatternTypeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLinePointResourcePtr pObj = OdDgLinePointResource::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgLineStyleResource::OdLsResourceType* pValue = rxvalue_cast(&value); if (pValue) { pObj->setBasePatternType(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: BasePatternHandleId //------------------------------------------------------------------------------------------------------- OdResult OdDgLinePointResourceBasePatternHandleIdProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinePointResourcePtr pObj = OdDgLinePointResource::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getBasePatternHandleId(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLinePointResourceBasePatternHandleIdProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLinePointResourcePtr pObj = OdDgLinePointResource::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt64* pValue = rxvalue_cast(&value); if (pValue) { pObj->setBasePatternHandleId(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: BasePatternEntryId //------------------------------------------------------------------------------------------------------- OdResult OdDgLinePointResourceBasePatternEntryIdProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLinePointResourcePtr pObj = OdDgLinePointResource::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getBasePatternEntryId(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLinePointResourceBasePatternEntryIdProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLinePointResourcePtr pObj = OdDgLinePointResource::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt32* pValue = rxvalue_cast(&value); if (pValue) { pObj->setBasePatternEntryId(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Symbol //------------------------------------------------------------------------------------------------------- ODDG_DEFINE_RX_VALUE_ARRAY_ITERATOR(OdDgLinePointResourceSymInfo); OdRxValueIteratorPtr OdDgLinePointResourceSymbolProperty::subNewValueIterator(const OdRxObject* pO) const { OdRxValueIteratorPtr res; res = OdRxObjectImpl::createObject(); OdDgLinePointResourcePtr pObj = OdDgLinePointResource::cast(pO); if (!pObj.isNull()) { OdArray arrValues; for (OdUInt32 i = 0; i < pObj->getSymbolCount(); i++) { OdDgLinePointResourceSymInfo tmp; if( pObj->getSymbol(i, tmp) ) arrValues.push_back(tmp); } ((OdRxOdDgLinePointResourceSymInfoValueIterator *)res.get())->init(arrValues, 0); } return res; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLinePointResourceSymbolProperty::subTryGetCount(const OdRxObject* pO, int& count) const { OdDgLinePointResourcePtr pObj = OdDgLinePointResource::cast(pO); if (pObj.isNull()) return eNotApplicable; count = pObj->getSymbolCount(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLinePointResourceSymbolProperty::subGetValue(const OdRxObject* pO, int index, OdRxValue& value) const { OdDgLinePointResourcePtr pObj = OdDgLinePointResource::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getSymbolCount()) return eInvalidIndex; OdDgLinePointResourceSymInfo tmp; pObj->getSymbol(index, tmp); value = tmp; return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLinePointResourceSymbolProperty::subSetValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgLinePointResourcePtr pObj = OdDgLinePointResource::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getSymbolCount()) return eInvalidIndex; const OdDgLinePointResourceSymInfo* pValue = rxvalue_cast(&value); if (pValue) { pObj->setSymbol(index, *pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLinePointResourceSymbolProperty::subInsertValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgLinePointResourcePtr pObj = OdDgLinePointResource::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgLinePointResourceSymInfo* pValue = rxvalue_cast(&value); if (pValue) { pObj->addSymbol(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLinePointResourceSymbolProperty::subRemoveValue(OdRxObject* pO, int index) const { OdDgLinePointResourcePtr pObj = OdDgLinePointResource::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getSymbolCount()) return eInvalidIndex; pObj->deleteSymbol(index); return eOk; } //------------------------------------------------------------------------------------------------------- // OdDgACS //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: Name //------------------------------------------------------------------------------------------------------- OdResult OdDgACSNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgACSPtr pObj = OdDgACS::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgACSNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgACSPtr pObj = OdDgACS::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Description //------------------------------------------------------------------------------------------------------- OdResult OdDgACSDescriptionProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgACSPtr pObj = OdDgACS::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getDescription(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgACSDescriptionProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgACSPtr pObj = OdDgACS::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setDescription(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Origin //------------------------------------------------------------------------------------------------------- OdResult OdDgACSOriginProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgACSPtr pObj = OdDgACS::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getOrigin(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgACSOriginProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgACSPtr pObj = OdDgACS::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdGePoint3d* pValue = rxvalue_cast(&value); if (pValue) { pObj->setOrigin(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Rotation //------------------------------------------------------------------------------------------------------- OdResult OdDgACSRotationProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgACSPtr pObj = OdDgACS::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getRotation(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgACSRotationProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgACSPtr pObj = OdDgACS::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdGeMatrix3d* pValue = rxvalue_cast(&value); if (pValue) { pObj->setRotation(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Type //------------------------------------------------------------------------------------------------------- OdResult OdDgACSTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgACSPtr pObj = OdDgACS::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getType(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgACSTypeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgACSPtr pObj = OdDgACS::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgModel::AcsType* pValue = rxvalue_cast(&value); if (pValue) { pObj->setType(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgLevelMask //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: ViewIndex //------------------------------------------------------------------------------------------------------- OdResult OdDgLevelMaskViewIndexProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLevelMaskPtr pObj = OdDgLevelMask::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getViewIndex(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLevelMaskViewIndexProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLevelMaskPtr pObj = OdDgLevelMask::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdUInt16* pValue = rxvalue_cast(&value); if (pValue) { pObj->setViewIndex(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ReferenceAttachId //------------------------------------------------------------------------------------------------------- OdResult OdDgLevelMaskReferenceAttachIdProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLevelMaskPtr pObj = OdDgLevelMask::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getReferenceAttachId(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLevelMaskReferenceAttachIdProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLevelMaskPtr pObj = OdDgLevelMask::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgElementId* pValue = rxvalue_cast(&value); if (pValue) { pObj->setReferenceAttachId(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: MaxLevelEntryId //------------------------------------------------------------------------------------------------------- OdResult OdDgLevelMaskMaxLevelEntryIdProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLevelMaskPtr pObj = OdDgLevelMask::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getMaxLevelEntryId(); return eOk; } //------------------------------------------------------------------------------------------------------- // Property: LevelIsVisible //------------------------------------------------------------------------------------------------------- ODDG_DEFINE_RX_VALUE_ARRAY_ITERATOR(bool); OdRxValueIteratorPtr OdDgLevelMaskLevelIsVisibleProperty::subNewValueIterator(const OdRxObject* pO) const { OdRxValueIteratorPtr res; res = OdRxObjectImpl::createObject(); OdDgLevelMaskPtr pObj = OdDgLevelMask::cast(pO); if (!pObj.isNull()) { OdArray arrValues; for (OdUInt32 i = 0; i < pObj->getMaxLevelEntryId(); i++) arrValues.push_back(pObj->getLevelIsVisible(i)); ((OdRxboolValueIterator *)res.get())->init(arrValues, 0); } return res; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLevelMaskLevelIsVisibleProperty::subTryGetCount(const OdRxObject* pO, int& count) const { OdDgLevelMaskPtr pObj = OdDgLevelMask::cast(pO); if (pObj.isNull()) return eNotApplicable; count = pObj->getMaxLevelEntryId(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLevelMaskLevelIsVisibleProperty::subGetValue(const OdRxObject* pO, int index, OdRxValue& value) const { OdDgLevelMaskPtr pObj = OdDgLevelMask::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getMaxLevelEntryId()) return eInvalidIndex; value = pObj->getLevelIsVisible(index); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLevelMaskLevelIsVisibleProperty::subSetValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgLevelMaskPtr pObj = OdDgLevelMask::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getMaxLevelEntryId()) return eInvalidIndex; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setLevelIsVisible(index, *pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLevelMaskLevelIsVisibleProperty::subInsertValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgLevelMaskPtr pObj = OdDgLevelMask::cast(pO); if (pObj.isNull()) return eNotApplicable; return eNotImplemented; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLevelMaskLevelIsVisibleProperty::subRemoveValue(OdRxObject* pO, int index) const { OdDgLevelMaskPtr pObj = OdDgLevelMask::cast(pO); if (pObj.isNull()) return eNotApplicable; return eNotImplemented; } //------------------------------------------------------------------------------------------------------- // OdDgReferenceAttachmentLevelMaskGroup //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: ReferenceAttachmentId //------------------------------------------------------------------------------------------------------- OdResult OdDgReferenceAttachmentLevelMaskGroupReferenceAttachmentIdProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgReferenceAttachmentLevelMaskGroupPtr pObj = OdDgReferenceAttachmentLevelMaskGroup::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->database()->getElementId( OdDbHandle(pObj->getReferenceAttachmentId())); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgReferenceAttachmentLevelMaskGroupReferenceAttachmentIdProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgReferenceAttachmentLevelMaskGroupPtr pObj = OdDgReferenceAttachmentLevelMaskGroup::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgElementId* pValue = rxvalue_cast(&value); if (pValue) pObj->setReferenceAttachmentId((OdUInt64)(pValue->getHandle())); else pObj->setReferenceAttachmentId(0); return eOk; } //------------------------------------------------------------------------------------------------------- // Property: Items //------------------------------------------------------------------------------------------------------- OdRxValueIteratorPtr OdDgReferenceAttachmentLevelMaskGroupItemsProperty::subNewValueIterator(const OdRxObject* pO) const { OdRxValueIteratorPtr res; OdDgReferenceAttachmentLevelMaskGroupPtr pObj = OdDgReferenceAttachmentLevelMaskGroup::cast(pO); if (!pObj.isNull()) { res = OdRxObjectImpl::createObject(); ((OdDgElementIdValueIterator*)res.get())->m_pIter = pObj->createIterator(); ((OdDgElementIdValueIterator*)res.get())->m_bAllowNull = true; } return res; } //------------------------------------------------------------------------------------------------------- OdResult OdDgReferenceAttachmentLevelMaskGroupItemsProperty::subTryGetCount(const OdRxObject* pO, int& count) const { OdDgReferenceAttachmentLevelMaskGroupPtr pObj = OdDgReferenceAttachmentLevelMaskGroup::cast(pO); if (pObj.isNull()) return eNotApplicable; int N = 0; for (OdDgElementIteratorPtr it = pObj->createIterator(); !it->done(); it->step()) ++N; count = N; return eOk; } //------------------------------------------------------------------------------------------------------- // OdDgNamedGroupHeader //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: Name //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Description //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderDescriptionProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getDescription(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderDescriptionProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setDescription(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: DefaultForwardPropagate //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderDefaultForwardPropagateProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getDefaultForwardPropagate(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderDefaultForwardPropagateProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgNamedGroupItem::OdDgNamedGroupPropagateType* pValue = rxvalue_cast(&value); if (pValue) { pObj->setDefaultForwardPropagate(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: DefaultBackwardPropagate //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderDefaultBackwardPropagateProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getDefaultBackwardPropagate(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderDefaultBackwardPropagateProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgNamedGroupItem::OdDgNamedGroupPropagateType* pValue = rxvalue_cast(&value); if (pValue) { pObj->setDefaultBackwardPropagate(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: DefaultGroupPropagate //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderDefaultGroupPropagateProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getDefaultGroupPropagate(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderDefaultGroupPropagateProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgNamedGroupItem::OdDgNamedGroupPropagateType* pValue = rxvalue_cast(&value); if (pValue) { pObj->setDefaultGroupPropagate(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: AllowDuplicatesFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderAllowDuplicatesFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getAllowDuplicatesFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderAllowDuplicatesFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setAllowDuplicatesFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ExclusiveMembersFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderExclusiveMembersFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getExclusiveMembersFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderExclusiveMembersFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setExclusiveMembersFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: AllowFarReferencesFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderAllowFarReferencesFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getAllowFarReferencesFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderAllowFarReferencesFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setAllowFarReferencesFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ClosedGroupFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderClosedGroupFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getClosedGroupFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderClosedGroupFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setClosedGroupFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: SelectMembersFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderSelectMembersFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSelectMembersFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderSelectMembersFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setSelectMembersFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: AnonimusFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderAnonimusFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getAnonimusFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderAnonimusFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setAnonimusFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: HasOtherGroupFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderHasOtherGroupFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getHasOtherGroupFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderHasOtherGroupFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setHasOtherGroupFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: HasAlwaysPropagateMembersFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderHasAlwaysPropagateMembersFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getHasAlwaysPropagateMembersFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderHasAlwaysPropagateMembersFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setHasAlwaysPropagateMembersFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: NamedGroupItem //------------------------------------------------------------------------------------------------------- ODDG_DEFINE_RX_VALUE_ARRAY_ITERATOR(OdDgNamedGroupItem); OdRxValueIteratorPtr OdDgNamedGroupHeaderNamedGroupItemProperty::subNewValueIterator(const OdRxObject* pO) const { OdRxValueIteratorPtr res; res = OdRxObjectImpl::createObject(); OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (!pObj.isNull()) { OdArray arrValues; for (OdUInt32 i = 0; i < pObj->getNamedGroupItemCount(); i++) arrValues.push_back(pObj->getNamedGroupItem(i)); ((OdRxOdDgNamedGroupItemValueIterator *)res.get())->init(arrValues, 0); } return res; } //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderNamedGroupItemProperty::subTryGetCount(const OdRxObject* pO, int& count) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; count = pObj->getNamedGroupItemCount(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderNamedGroupItemProperty::subGetValue(const OdRxObject* pO, int index, OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getNamedGroupItemCount()) return eInvalidIndex; value = pObj->getNamedGroupItem(index); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderNamedGroupItemProperty::subSetValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getNamedGroupItemCount()) return eInvalidIndex; const OdDgNamedGroupItem* pValue = rxvalue_cast(&value); if (pValue) { pObj->setNamedGroupItem(*pValue, index); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderNamedGroupItemProperty::subInsertValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgNamedGroupItem* pValue = rxvalue_cast(&value); if (pValue) { pObj->addNamedGroupItem(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgNamedGroupHeaderNamedGroupItemProperty::subRemoveValue(OdRxObject* pO, int index) const { OdDgNamedGroupHeaderPtr pObj = OdDgNamedGroupHeader::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getNamedGroupItemCount()) return eInvalidIndex; pObj->deleteNamedGroupItem(index); return eOk; } //------------------------------------------------------------------------------------------------------- // OdDgExpressionItem //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: Type //------------------------------------------------------------------------------------------------------- OdResult OdDgExpressionItemTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgExpressionItemPtr pObj = OdDgExpressionItem::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getType(); return eOk; } //------------------------------------------------------------------------------------------------------- // Property: Operand //------------------------------------------------------------------------------------------------------- OdResult OdDgExpressionItemOperandProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgExpressionItemPtr pObj = OdDgExpressionItem::cast(pO); if (pObj.isNull()) return eNotApplicable; value = (OdRxObjectPtr)pObj->getOperand(0); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgExpressionItemOperandProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgExpressionItemPtr pObj = OdDgExpressionItem::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdRxObjectPtr* pValue = rxvalue_cast(&value); if (pValue && (*pValue)->isKindOf(OdDgExpressionItem::desc())) { pObj->setOperand(0, *pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: AsString //------------------------------------------------------------------------------------------------------- OdResult OdDgExpressionItemAsStringProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgExpressionItemPtr pObj = OdDgExpressionItem::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getAsString(); return eOk; } //------------------------------------------------------------------------------------------------------- // OdDgProxyExpressionItem //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: Type //------------------------------------------------------------------------------------------------------- OdResult OdDgProxyExpressionItemTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgProxyExpressionItemPtr pObj = OdDgProxyExpressionItem::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getType(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgProxyExpressionItemTypeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgProxyExpressionItemPtr pObj = OdDgProxyExpressionItem::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgExpressionItem::OdDgExpressionItemType* pValue = rxvalue_cast(&value); if (pValue) { pObj->setType(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgExpressionItem //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: Operand //------------------------------------------------------------------------------------------------------- OdRxValueIteratorPtr OdDgProxyExpressionItemOperandProperty::subNewValueIterator(const OdRxObject* pO) const { OdRxValueIteratorPtr res; res = OdRxObjectImpl::createObject(); OdDgProxyExpressionItemPtr pObj = OdDgProxyExpressionItem::cast(pO); if (!pObj.isNull()) { OdArray arrValues; for (OdUInt32 i = 0; i < pObj->getOperandCount(); i++) arrValues.push_back(pObj->getOperand(i)); ((OdRxOdRxObjectPtrValueIterator *)res.get())->init(arrValues, 0); } return res; } //------------------------------------------------------------------------------------------------------- OdResult OdDgProxyExpressionItemOperandProperty::subTryGetCount(const OdRxObject* pO, int& count) const { OdDgProxyExpressionItemPtr pObj = OdDgProxyExpressionItem::cast(pO); if (pObj.isNull()) return eNotApplicable; count = pObj->getOperandCount(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgProxyExpressionItemOperandProperty::subGetValue(const OdRxObject* pO, int index, OdRxValue& value) const { OdDgProxyExpressionItemPtr pObj = OdDgProxyExpressionItem::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getOperandCount()) return eInvalidIndex; value = (OdRxObjectPtr)pObj->getOperand(index); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgProxyExpressionItemOperandProperty::subSetValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgProxyExpressionItemPtr pObj = OdDgProxyExpressionItem::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getOperandCount()) return eInvalidIndex; const OdRxObjectPtr* pValue = rxvalue_cast(&value); if (pValue && (*pValue)->isKindOf(OdDgExpressionItem::desc())) { pObj->setOperand(index, *pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgProxyExpressionItemOperandProperty::subInsertValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgProxyExpressionItemPtr pObj = OdDgProxyExpressionItem::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdRxObjectPtr* pValue = rxvalue_cast(&value); if (pValue && (*pValue)->isKindOf(OdDgExpressionItem::desc()) ) { pObj->addOperand(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgProxyExpressionItemOperandProperty::subRemoveValue(OdRxObject* pO, int index) const { OdDgProxyExpressionItemPtr pObj = OdDgProxyExpressionItem::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getOperandCount()) return eInvalidIndex; pObj->deleteOperand(index); return eOk; } //------------------------------------------------------------------------------------------------------- // OdDgConstantValue //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: Value //------------------------------------------------------------------------------------------------------- OdResult OdDgConstantValueValueProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgConstantValuePtr pObj = OdDgConstantValue::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getValue(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgConstantValueValueProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgConstantValuePtr pObj = OdDgConstantValue::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgExpressionConstValueVariant* pValue = rxvalue_cast(&value); if (pValue) { pObj->setValue(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgVariableValue //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: VariableName //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableValueVariableNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgVariableValuePtr pObj = OdDgVariableValue::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getVariableName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableValueVariableNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgVariableValuePtr pObj = OdDgVariableValue::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setVariableName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgVariableIdValue //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: VariableId //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableIdValueVariableIdProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgVariableIdValuePtr pObj = OdDgVariableIdValue::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getVariableId(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableIdValueVariableIdProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgVariableIdValuePtr pObj = OdDgVariableIdValue::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgElementId* pValue = rxvalue_cast(&value); if (pValue) { pObj->setVariableId(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgArithmeticOperator //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: Type //------------------------------------------------------------------------------------------------------- OdResult OdDgArithmeticOperatorTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgArithmeticOperatorPtr pObj = OdDgArithmeticOperator::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getType(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgArithmeticOperatorTypeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgArithmeticOperatorPtr pObj = OdDgArithmeticOperator::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgExpressionItem::OdDgExpressionItemType* pValue = rxvalue_cast(&value); if (pValue) { pObj->setType(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgConditionOperator //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: Condition //------------------------------------------------------------------------------------------------------- OdResult OdDgConditionOperatorConditionProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgConditionOperatorPtr pObj = OdDgConditionOperator::cast(pO); if (pObj.isNull()) return eNotApplicable; value = (OdRxObjectPtr)(pObj->getCondition()); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgConditionOperatorConditionProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgConditionOperatorPtr pObj = OdDgConditionOperator::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdRxObjectPtr* pValue = rxvalue_cast(&value); if (pValue && (*pValue)->isKindOf(OdDgExpressionItem::desc())) { pObj->setCondition(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: PositiveCase //------------------------------------------------------------------------------------------------------- OdResult OdDgConditionOperatorPositiveCaseProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgConditionOperatorPtr pObj = OdDgConditionOperator::cast(pO); if (pObj.isNull()) return eNotApplicable; value = (OdRxObjectPtr)(pObj->getPositiveCase()); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgConditionOperatorPositiveCaseProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgConditionOperatorPtr pObj = OdDgConditionOperator::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdRxObjectPtr* pValue = rxvalue_cast(&value); if (pValue && (*pValue)->isKindOf(OdDgExpressionItem::desc()) ) { pObj->setPositiveCase(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: NegativeCase //------------------------------------------------------------------------------------------------------- OdResult OdDgConditionOperatorNegativeCaseProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgConditionOperatorPtr pObj = OdDgConditionOperator::cast(pO); if (pObj.isNull()) return eNotApplicable; value = (OdRxObjectPtr)pObj->getNegativeCase(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgConditionOperatorNegativeCaseProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgConditionOperatorPtr pObj = OdDgConditionOperator::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdRxObjectPtr* pValue = rxvalue_cast(&value); if (pValue && (*pValue)->isKindOf(OdDgExpressionItem::desc()) ) { pObj->setNegativeCase(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgCompareOperator //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: OperatorType //------------------------------------------------------------------------------------------------------- OdResult OdDgCompareOperatorOperatorTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgCompareOperatorPtr pObj = OdDgCompareOperator::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getOperatorType(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgCompareOperatorOperatorTypeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgCompareOperatorPtr pObj = OdDgCompareOperator::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgCompareOperator::OdDgCompareOperatorType* pValue = rxvalue_cast(&value); if (pValue) { pObj->setOperatorType(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgFunctionOperator //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: FunctionType //------------------------------------------------------------------------------------------------------- OdResult OdDgFunctionOperatorFunctionTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgFunctionOperatorPtr pObj = OdDgFunctionOperator::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getFunctionType(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgFunctionOperatorFunctionTypeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgFunctionOperatorPtr pObj = OdDgFunctionOperator::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgFunctionOperator::OdDgFunctionOperatorType* pValue = rxvalue_cast(&value); if (pValue) { pObj->setFunctionType(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Operand //------------------------------------------------------------------------------------------------------- OdRxValueIteratorPtr OdDgFunctionOperatorOperandProperty::subNewValueIterator(const OdRxObject* pO) const { OdRxValueIteratorPtr res; res = OdRxObjectImpl::createObject(); OdDgFunctionOperatorPtr pObj = OdDgFunctionOperator::cast(pO); if (!pObj.isNull()) { OdArray arrValues; for (OdUInt32 i = 0; i < pObj->getOperandCount(); i++) arrValues.push_back(pObj->getOperand(i)); ((OdRxOdRxObjectPtrValueIterator *)res.get())->init(arrValues, 0); } return res; } //------------------------------------------------------------------------------------------------------- OdResult OdDgFunctionOperatorOperandProperty::subTryGetCount(const OdRxObject* pO, int& count) const { OdDgFunctionOperatorPtr pObj = OdDgFunctionOperator::cast(pO); if (pObj.isNull()) return eNotApplicable; count = pObj->getOperandCount(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgFunctionOperatorOperandProperty::subGetValue(const OdRxObject* pO, int index, OdRxValue& value) const { OdDgFunctionOperatorPtr pObj = OdDgFunctionOperator::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getOperandCount()) return eInvalidIndex; value = (OdRxObjectPtr)pObj->getOperand(index); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgFunctionOperatorOperandProperty::subSetValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgFunctionOperatorPtr pObj = OdDgFunctionOperator::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getOperandCount()) return eInvalidIndex; const OdRxObjectPtr* pValue = rxvalue_cast(&value); if (pValue && (*pValue)->isKindOf(OdDgExpressionItem::desc()) ) { pObj->setOperand(index, *pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgFunctionOperatorOperandProperty::subInsertValue(OdRxObject* pO, int index, const OdRxValue& value) const { OdDgFunctionOperatorPtr pObj = OdDgFunctionOperator::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdRxObjectPtr* pValue = rxvalue_cast(&value); if (pValue && (*pValue)->isKindOf(OdDgExpressionItem::desc())) { pObj->addOperand(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- OdResult OdDgFunctionOperatorOperandProperty::subRemoveValue(OdRxObject* pO, int index) const { OdDgFunctionOperatorPtr pObj = OdDgFunctionOperator::cast(pO); if (pObj.isNull()) return eNotApplicable; if (index < 0 || index >= (int)pObj->getOperandCount()) return eInvalidIndex; pObj->deleteOperand(index); return eOk; } //------------------------------------------------------------------------------------------------------- // OdDgLogicalOperator //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: Type //------------------------------------------------------------------------------------------------------- OdResult OdDgLogicalOperatorTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgLogicalOperatorPtr pObj = OdDgLogicalOperator::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getType(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgLogicalOperatorTypeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgLogicalOperatorPtr pObj = OdDgLogicalOperator::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgExpressionItem::OdDgExpressionItemType* pValue = rxvalue_cast(&value); if (pValue) { pObj->setType(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgEqualOrNotOperator //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: OperatorType //------------------------------------------------------------------------------------------------------- OdResult OdDgEqualOrNotOperatorOperatorTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgEqualOrNotOperatorPtr pObj = OdDgEqualOrNotOperator::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getOperatorType(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgEqualOrNotOperatorOperatorTypeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgEqualOrNotOperatorPtr pObj = OdDgEqualOrNotOperator::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgEqualOrNotOperator::OdDgEqualOrNotOperatorType* pValue = rxvalue_cast(&value); if (pValue) { pObj->setOperatorType(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgSpecialConstant //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: ConstantType //------------------------------------------------------------------------------------------------------- OdResult OdDgSpecialConstantConstantTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgSpecialConstantPtr pObj = OdDgSpecialConstant::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getConstantType(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgSpecialConstantConstantTypeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgSpecialConstantPtr pObj = OdDgSpecialConstant::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgSpecialConstant::OdDgSpecialConstantType* pValue = rxvalue_cast(&value); if (pValue) { pObj->setConstantType(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgExpressionVariable //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: ResultVariableName //------------------------------------------------------------------------------------------------------- OdResult OdDgExpressionVariableResultVariableNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgExpressionVariablePtr pObj = OdDgExpressionVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getResultVariableName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgExpressionVariableResultVariableNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgExpressionVariablePtr pObj = OdDgExpressionVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setResultVariableName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ExpressionString //------------------------------------------------------------------------------------------------------- OdResult OdDgExpressionVariableExpressionStringProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgExpressionVariablePtr pObj = OdDgExpressionVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getExpressionString(); return eOk; } //------------------------------------------------------------------------------------------------------- // Property: Expression //------------------------------------------------------------------------------------------------------- OdResult OdDgExpressionVariableExpressionProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgExpressionVariablePtr pObj = OdDgExpressionVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; value = (OdRxObjectPtr)pObj->getExpression(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgExpressionVariableExpressionProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgExpressionVariablePtr pObj = OdDgExpressionVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdRxObjectPtr* pValue = rxvalue_cast(&value); if (pValue && (*pValue)->isKindOf(OdDgExpressionItem::desc())) { pObj->setExpression(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgVariable //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: Name //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgVariablePtr pObj = OdDgVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgVariablePtr pObj = OdDgVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: DisplayName //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableDisplayNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgVariablePtr pObj = OdDgVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getDisplayName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableDisplayNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgVariablePtr pObj = OdDgVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setDisplayName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: UnitsDescription //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableUnitsDescriptionProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgVariablePtr pObj = OdDgVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getUnitsDescription(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableUnitsDescriptionProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgVariablePtr pObj = OdDgVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setUnitsDescription(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Type //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgVariablePtr pObj = OdDgVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getType(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableTypeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgVariablePtr pObj = OdDgVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgVariable::OdDgVariableType* pValue = rxvalue_cast(&value); if (pValue) { pObj->setType(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Scope //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableScopeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgVariablePtr pObj = OdDgVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getScope(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableScopeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgVariablePtr pObj = OdDgVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgVariable::OdDgVariableScope* pValue = rxvalue_cast(&value); if (pValue) { pObj->setScope(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ReadOnlyFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableReadOnlyFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgVariablePtr pObj = OdDgVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getReadOnlyFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableReadOnlyFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgVariablePtr pObj = OdDgVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setReadOnlyFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: VisibleFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableVisibleFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgVariablePtr pObj = OdDgVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getVisibleFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableVisibleFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgVariablePtr pObj = OdDgVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setVisibleFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ExpressionBasedFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableExpressionBasedFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgVariablePtr pObj = OdDgVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getExpressionBasedFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- // Property: Expression //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableExpressionProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgVariablePtr pObj = OdDgVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; value = (OdRxObjectPtr)pObj->getExpression(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableExpressionProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgVariablePtr pObj = OdDgVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdRxObjectPtr* pValue = rxvalue_cast(&value); if (pValue && (*pValue)->isKindOf(OdDgExpressionVariable::desc()) ) { pObj->setExpression(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: DefaultValue //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableDefaultValueProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgVariablePtr pObj = OdDgVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getDefaultValue(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableDefaultValueProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgVariablePtr pObj = OdDgVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgVariableValueVariant* pValue = rxvalue_cast(&value); if (pValue) { pObj->setDefaultValue(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ProxyTypeName //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableProxyTypeNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgVariablePtr pObj = OdDgVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getProxyTypeName(); return eOk; } //------------------------------------------------------------------------------------------------------- // Property: ProxyValue //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableProxyValueProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgVariablePtr pObj = OdDgVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getProxyValue(); return eOk; } //------------------------------------------------------------------------------------------------------- // OdDgItemTypeBasedVariable //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: Name //------------------------------------------------------------------------------------------------------- OdResult OdDgItemTypeBasedVariableNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgItemTypeBasedVariablePtr pObj = OdDgItemTypeBasedVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getName(); return eOk; } //------------------------------------------------------------------------------------------------------- // Property: Type //------------------------------------------------------------------------------------------------------- OdResult OdDgItemTypeBasedVariableTypeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgItemTypeBasedVariablePtr pObj = OdDgItemTypeBasedVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getType(); return eOk; } //------------------------------------------------------------------------------------------------------- // Property: Units //------------------------------------------------------------------------------------------------------- OdResult OdDgItemTypeBasedVariableUnitsProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgItemTypeBasedVariablePtr pObj = OdDgItemTypeBasedVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getUnits(); return eOk; } //------------------------------------------------------------------------------------------------------- // Property: Scope //------------------------------------------------------------------------------------------------------- OdResult OdDgItemTypeBasedVariableScopeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgItemTypeBasedVariablePtr pObj = OdDgItemTypeBasedVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getScope(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgItemTypeBasedVariableScopeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgItemTypeBasedVariablePtr pObj = OdDgItemTypeBasedVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgVariable::OdDgVariableScope* pValue = rxvalue_cast(&value); if (pValue) { pObj->setScope(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: VisibleFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgItemTypeBasedVariableVisibleFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgItemTypeBasedVariablePtr pObj = OdDgItemTypeBasedVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getVisibleFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgItemTypeBasedVariableVisibleFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgItemTypeBasedVariablePtr pObj = OdDgItemTypeBasedVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; const bool* pValue = rxvalue_cast(&value); if (pValue) { pObj->setVisibleFlag(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ExpressionBasedFlag //------------------------------------------------------------------------------------------------------- OdResult OdDgItemTypeBasedVariableExpressionBasedFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgItemTypeBasedVariablePtr pObj = OdDgItemTypeBasedVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getExpressionBasedFlag(); return eOk; } //------------------------------------------------------------------------------------------------------- // Property: Expression //------------------------------------------------------------------------------------------------------- OdResult OdDgItemTypeBasedVariableExpressionProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgItemTypeBasedVariablePtr pObj = OdDgItemTypeBasedVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; value = (OdRxObjectPtr)pObj->getExpression(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgItemTypeBasedVariableExpressionProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgItemTypeBasedVariablePtr pObj = OdDgItemTypeBasedVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdRxObjectPtr* pValue = rxvalue_cast(&value); if (pValue && (*pValue)->isKindOf(OdDgExpressionVariable::desc()) ) { pObj->setExpression(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: DefaultValue //------------------------------------------------------------------------------------------------------- OdResult OdDgItemTypeBasedVariableDefaultValueProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgItemTypeBasedVariablePtr pObj = OdDgItemTypeBasedVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getDefaultValue(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgItemTypeBasedVariableDefaultValueProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgItemTypeBasedVariablePtr pObj = OdDgItemTypeBasedVariable::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdDgVariableValueVariant* pValue = rxvalue_cast(&value); if (pValue) { pObj->setDefaultValue(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // OdDgVariableValuesSet //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: Name //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableValuesSetNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgVariableValuesSetPtr pObj = OdDgVariableValuesSet::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getName(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableValuesSetNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgVariableValuesSetPtr pObj = OdDgVariableValuesSet::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setName(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Description //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableValuesSetDescriptionProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgVariableValuesSetPtr pObj = OdDgVariableValuesSet::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getDescription(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableValuesSetDescriptionProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgVariableValuesSetPtr pObj = OdDgVariableValuesSet::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdString* pValue = rxvalue_cast(&value); if (pValue) { pObj->setDescription(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ItemTypeInstance //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableValuesSetItemTypeInstanceProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgVariableValuesSetPtr pObj = OdDgVariableValuesSet::cast(pO); if (pObj.isNull()) return eNotApplicable; value = (OdRxObjectPtr)pObj->getItemTypeInstance(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableValuesSetItemTypeInstanceProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgVariableValuesSetPtr pObj = OdDgVariableValuesSet::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdRxObjectPtr* pValue = rxvalue_cast(&value); if (pValue && (*pValue)->isKindOf(OdDgECClassInstance::desc()) ) { pObj->setItemTypeInstance(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: Variable //------------------------------------------------------------------------------------------------------- ODDG_DEFINE_RX_VALUE_ARRAY_ITERATOR(OdDgElementId); OdRxValueIteratorPtr OdDgVariableValuesSetVariableProperty::subNewValueIterator(const OdRxObject* pO) const { OdRxValueIteratorPtr res; res = OdRxObjectImpl::createObject(); OdDgVariableValuesSetPtr pObj = OdDgVariableValuesSet::cast(pO); if (!pObj.isNull()) { OdArray arrValues; for (OdUInt32 i = 0; i < pObj->getVariablesCount(); i++) arrValues.push_back(pObj->getVariableId(i)); ((OdRxOdDgElementIdValueIterator *)res.get())->init(arrValues, 0); } return res; } //------------------------------------------------------------------------------------------------------- OdResult OdDgVariableValuesSetVariableProperty::subTryGetCount(const OdRxObject* pO, int& count) const { OdDgVariableValuesSetPtr pObj = OdDgVariableValuesSet::cast(pO); if (pObj.isNull()) return eNotApplicable; count = pObj->getVariablesCount(); return eOk; } //------------------------------------------------------------------------------------------------------- // OdDgVariablesList //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- // Property: LocalVariable //------------------------------------------------------------------------------------------------------- OdRxValueIteratorPtr OdDgVariablesListLocalVariableProperty::subNewValueIterator(const OdRxObject* pO) const { OdRxValueIteratorPtr res; OdDgVariablesListPtr pObj = OdDgVariablesList::cast(pO); if (!pObj.isNull()) { res = OdRxObjectImpl::createObject(); ((OdDgElementIdValueIterator*)res.get())->m_pIter = pObj->createLocalVariableIterator(); ((OdDgElementIdValueIterator*)res.get())->m_bAllowNull = true; } return res; } //------------------------------------------------------------------------------------------------------- OdResult OdDgVariablesListLocalVariableProperty::subTryGetCount(const OdRxObject* pO, int& count) const { OdDgVariablesListPtr pObj = OdDgVariablesList::cast(pO); if (pObj.isNull()) return eNotApplicable; int N = 0; for (OdDgElementIteratorPtr it = pObj->createLocalVariableIterator(); !it->done(); it->step()) ++N; count = N; return eOk; } //------------------------------------------------------------------------------------------------------- // Property: ItemTypeLibraryId //------------------------------------------------------------------------------------------------------- OdResult OdDgVariablesListItemTypeLibraryIdProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgVariablesListPtr pObj = OdDgVariablesList::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getItemTypeLibraryId(); return eOk; } //------------------------------------------------------------------------------------------------------- // Property: ItemTypeName //------------------------------------------------------------------------------------------------------- OdResult OdDgVariablesListItemTypeNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgVariablesListPtr pObj = OdDgVariablesList::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getItemTypeName(); return eOk; } //------------------------------------------------------------------------------------------------------- // Property: ItemTypeDefaults //------------------------------------------------------------------------------------------------------- OdResult OdDgVariablesListItemTypeDefaultsProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgVariablesListPtr pObj = OdDgVariablesList::cast(pO); if (pObj.isNull()) return eNotApplicable; value = (OdRxObjectPtr)pObj->getItemTypeDefaults(); return eOk; } //------------------------------------------------------------------------------------------------------- OdResult OdDgVariablesListItemTypeDefaultsProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgVariablesListPtr pObj = OdDgVariablesList::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdRxObjectPtr* pValue = rxvalue_cast(&value); if (pValue && (*pValue)->isKindOf(OdDgECClassInstance::desc()) ) { pObj->setItemTypeDefaults(*pValue); return eOk; } return eNotThatKindOfClass; } //------------------------------------------------------------------------------------------------------- // Property: ItemTypeBasedVariable //------------------------------------------------------------------------------------------------------- OdRxValueIteratorPtr OdDgVariablesListItemTypeBasedVariableProperty::subNewValueIterator(const OdRxObject* pO) const { OdRxValueIteratorPtr res; OdDgVariablesListPtr pObj = OdDgVariablesList::cast(pO); if (!pObj.isNull()) { res = OdRxObjectImpl::createObject(); ((OdDgElementIdValueIterator*)res.get())->m_pIter = pObj->createItemTypeBasedVariableIterator(); ((OdDgElementIdValueIterator*)res.get())->m_bAllowNull = true; } return res; } //------------------------------------------------------------------------------------------------------- OdResult OdDgVariablesListItemTypeBasedVariableProperty::subTryGetCount(const OdRxObject* pO, int& count) const { OdDgVariablesListPtr pObj = OdDgVariablesList::cast(pO); if (pObj.isNull()) return eNotApplicable; int N = 0; for (OdDgElementIteratorPtr it = pObj->createItemTypeBasedVariableIterator(); !it->done(); it->step()) ++N; count = N; return eOk; } //------------------------------------------------------------------------------------------------------- // Property: VariableValuesSet //------------------------------------------------------------------------------------------------------- OdRxValueIteratorPtr OdDgVariablesListVariableValuesSetProperty::subNewValueIterator(const OdRxObject* pO) const { OdRxValueIteratorPtr res; OdDgVariablesListPtr pObj = OdDgVariablesList::cast(pO); if (!pObj.isNull()) { res = OdRxObjectImpl::createObject(); ((OdDgElementIdValueIterator*)res.get())->m_pIter = pObj->createVariableValuesSetIterator(); ((OdDgElementIdValueIterator*)res.get())->m_bAllowNull = true; } return res; } //------------------------------------------------------------------------------------------------------- OdResult OdDgVariablesListVariableValuesSetProperty::subTryGetCount(const OdRxObject* pO, int& count) const { OdDgVariablesListPtr pObj = OdDgVariablesList::cast(pO); if (pObj.isNull()) return eNotApplicable; int N = 0; for (OdDgElementIteratorPtr it = pObj->createVariableValuesSetIterator(); !it->done(); it->step()) ++N; count = N; return eOk; } //------------------------------------------------------------------------------------------------------- // Property: MasterUnits //------------------------------------------------------------------------------------------------------- OdResult OdDgVariablesListMasterUnitsProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgVariablesListPtr pObj = OdDgVariablesList::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getMasterUnits(); return eOk; } //-----------------------------------------------------------------------------------------------------------------------