/////////////////////////////////////////////////////////////////////////////// // 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 "DgKMLPlacemarkProperties.h" //----------------------------------------------------------------------------------------------------------------------- // class: OdDgKMLPlacemark2d //----------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------- // property: Name //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark2dNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgKMLPlacemark2dPtr pObj = OdDgKMLPlacemark2d::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getName(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark2dNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgKMLPlacemark2dPtr pObj = OdDgKMLPlacemark2d::cast(pO); if (pObj.isNull()) return eNotApplicable; pObj->setName(*rxvalue_cast(&value)); return eOk; } //----------------------------------------------------------------------------------------------------------------------- // property: Longitude //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark2dLongitudeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgKMLPlacemark2dPtr pObj = OdDgKMLPlacemark2d::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getLongitude(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark2dLongitudeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgKMLPlacemark2dPtr pObj = OdDgKMLPlacemark2d::cast(pO); if (pObj.isNull()) return eNotApplicable; pObj->setLongitude(*rxvalue_cast(&value)); return eOk; } //----------------------------------------------------------------------------------------------------------------------- // property: Latitude //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark2dLatitudeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgKMLPlacemark2dPtr pObj = OdDgKMLPlacemark2d::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getLatitude(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark2dLatitudeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgKMLPlacemark2dPtr pObj = OdDgKMLPlacemark2d::cast(pO); if (pObj.isNull()) return eNotApplicable; pObj->setLatitude(*rxvalue_cast(&value)); return eOk; } //----------------------------------------------------------------------------------------------------------------------- // property: Elevation //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark2dElevationProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgKMLPlacemark2dPtr pObj = OdDgKMLPlacemark2d::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getElevation(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark2dElevationProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgKMLPlacemark2dPtr pObj = OdDgKMLPlacemark2d::cast(pO); if (pObj.isNull()) return eNotApplicable; pObj->setElevation(*rxvalue_cast(&value)); return eOk; } //----------------------------------------------------------------------------------------------------------------------- // property: Origin //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark2dOriginProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgKMLPlacemark2dPtr pObj = OdDgKMLPlacemark2d::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getOrigin(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark2dOriginProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgKMLPlacemark2dPtr pObj = OdDgKMLPlacemark2d::cast(pO); if (pObj.isNull()) return eNotApplicable; pObj->setOrigin(*rxvalue_cast(&value)); return eOk; } //----------------------------------------------------------------------------------------------------------------------- // property: Rotation //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark2dRotationProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgKMLPlacemark2dPtr pObj = OdDgKMLPlacemark2d::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getRotation(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark2dRotationProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgKMLPlacemark2dPtr pObj = OdDgKMLPlacemark2d::cast(pO); if (pObj.isNull()) return eNotApplicable; pObj->setRotation(*rxvalue_cast(&value)); return eOk; } //----------------------------------------------------------------------------------------------------------------------- // property: Scale //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark2dScaleProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgKMLPlacemark2dPtr pObj = OdDgKMLPlacemark2d::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getScale(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark2dScaleProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgKMLPlacemark2dPtr pObj = OdDgKMLPlacemark2d::cast(pO); if (pObj.isNull()) return eNotApplicable; pObj->setScale(*rxvalue_cast(&value)); return eOk; } //----------------------------------------------------------------------------------------------------------------------- // property: ActivePlacemarkFlag //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark2dActivePlacemarkFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgKMLPlacemark2dPtr pObj = OdDgKMLPlacemark2d::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getActivePlacemarkFlag(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark2dActivePlacemarkFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgKMLPlacemark2dPtr pObj = OdDgKMLPlacemark2d::cast(pO); if (pObj.isNull()) return eNotApplicable; pObj->setActivePlacemarkFlag(*rxvalue_cast(&value)); return eOk; } //----------------------------------------------------------------------------------------------------------------------- // property: Source //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark2dSourceProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgKMLPlacemark2dPtr pObj = OdDgKMLPlacemark2d::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSource(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark2dSourceProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgKMLPlacemark2dPtr pObj = OdDgKMLPlacemark2d::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdRxObjectPtr* pValue = rxvalue_cast(&value); if (pValue && (*pValue)->isKindOf(OdDgKMLPlacemarkSource::desc())) { OdDgKMLPlacemarkSourcePtr pSource = *pValue; pObj->setSource(pSource); return eOk; } return eNotThatKindOfClass; } //----------------------------------------------------------------------------------------------------------------------- // class: OdDgKMLPlacemark3d //----------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------- // property: Name //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark3dNameProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgKMLPlacemark3dPtr pObj = OdDgKMLPlacemark3d::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getName(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark3dNameProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgKMLPlacemark3dPtr pObj = OdDgKMLPlacemark3d::cast(pO); if (pObj.isNull()) return eNotApplicable; pObj->setName(*rxvalue_cast(&value)); return eOk; } //----------------------------------------------------------------------------------------------------------------------- // property: Longitude //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark3dLongitudeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgKMLPlacemark3dPtr pObj = OdDgKMLPlacemark3d::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getLongitude(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark3dLongitudeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgKMLPlacemark3dPtr pObj = OdDgKMLPlacemark3d::cast(pO); if (pObj.isNull()) return eNotApplicable; pObj->setLongitude(*rxvalue_cast(&value)); return eOk; } //----------------------------------------------------------------------------------------------------------------------- // property: Latitude //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark3dLatitudeProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgKMLPlacemark3dPtr pObj = OdDgKMLPlacemark3d::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getLatitude(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark3dLatitudeProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgKMLPlacemark3dPtr pObj = OdDgKMLPlacemark3d::cast(pO); if (pObj.isNull()) return eNotApplicable; pObj->setLatitude(*rxvalue_cast(&value)); return eOk; } //----------------------------------------------------------------------------------------------------------------------- // property: Elevation //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark3dElevationProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgKMLPlacemark3dPtr pObj = OdDgKMLPlacemark3d::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getElevation(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark3dElevationProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgKMLPlacemark3dPtr pObj = OdDgKMLPlacemark3d::cast(pO); if (pObj.isNull()) return eNotApplicable; pObj->setElevation(*rxvalue_cast(&value)); return eOk; } //----------------------------------------------------------------------------------------------------------------------- // property: Origin //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark3dOriginProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgKMLPlacemark3dPtr pObj = OdDgKMLPlacemark3d::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getOrigin(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark3dOriginProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgKMLPlacemark3dPtr pObj = OdDgKMLPlacemark3d::cast(pO); if (pObj.isNull()) return eNotApplicable; pObj->setOrigin(*rxvalue_cast(&value)); return eOk; } //----------------------------------------------------------------------------------------------------------------------- // property: Rotation //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark3dRotationProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgKMLPlacemark3dPtr pObj = OdDgKMLPlacemark3d::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getRotation(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark3dRotationProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgKMLPlacemark3dPtr pObj = OdDgKMLPlacemark3d::cast(pO); if (pObj.isNull()) return eNotApplicable; pObj->setRotation(*rxvalue_cast(&value)); return eOk; } //----------------------------------------------------------------------------------------------------------------------- // property: Scale //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark3dScaleProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgKMLPlacemark3dPtr pObj = OdDgKMLPlacemark3d::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getScale(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark3dScaleProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgKMLPlacemark3dPtr pObj = OdDgKMLPlacemark3d::cast(pO); if (pObj.isNull()) return eNotApplicable; pObj->setScale(*rxvalue_cast(&value)); return eOk; } //----------------------------------------------------------------------------------------------------------------------- // property: ActivePlacemarkFlag //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark3dActivePlacemarkFlagProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgKMLPlacemark3dPtr pObj = OdDgKMLPlacemark3d::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getActivePlacemarkFlag(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark3dActivePlacemarkFlagProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgKMLPlacemark3dPtr pObj = OdDgKMLPlacemark3d::cast(pO); if (pObj.isNull()) return eNotApplicable; pObj->setActivePlacemarkFlag(*rxvalue_cast(&value)); return eOk; } //----------------------------------------------------------------------------------------------------------------------- // property: Source //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark3dSourceProperty::subGetValue(const OdRxObject* pO, OdRxValue& value) const { OdDgKMLPlacemark3dPtr pObj = OdDgKMLPlacemark3d::cast(pO); if (pObj.isNull()) return eNotApplicable; value = pObj->getSource(); return eOk; } //----------------------------------------------------------------------------------------------------------------------- OdResult OdDgKMLPlacemark3dSourceProperty::subSetValue(OdRxObject* pO, const OdRxValue& value) const { OdDgKMLPlacemark3dPtr pObj = OdDgKMLPlacemark3d::cast(pO); if (pObj.isNull()) return eNotApplicable; const OdRxObjectPtr* pValue = rxvalue_cast(&value); if (pValue && (*pValue)->isKindOf(OdDgKMLPlacemarkSource::desc())) { OdDgKMLPlacemarkSourcePtr pSource = *pValue; pObj->setSource(pSource); return eOk; } return eNotThatKindOfClass; } //-----------------------------------------------------------------------------------------------------------------------