/////////////////////////////////////////////////////////////////////////////// // 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. /////////////////////////////////////////////////////////////////////////////// #ifndef _ODDBCONSTRAINTSINTERFACEPE_INCLUDED_ #define _ODDBCONSTRAINTSINTERFACEPE_INCLUDED_ /*!DOM*/ #include "DbExport.h" #include "DbObject.h" #include "DbEvalVariant.h" #include "Ge/GeCircArc3d.h" class OdDbEvalContext; class OdDbBlockPostponedAction; typedef OdSmartPtr OdDbBlockPostponedActionPtr; //DOM-IGNORE-BEGIN // this is temporary internal interface between dynamic blocks and constraints /*!DOM*/ struct DBENT_EXPORT OdDbConstraintsInterfacePE : OdRxObject { ODRX_DECLARE_MEMBERS(OdDbConstraintsInterfacePE); virtual OdResult getAssocVariable(const OdDbObject* /*pObject*/, OdDbObjectId& /*varId*/) { return eNotImplemented; } virtual OdResult getAssocVariable(const OdDbObject* /*pObject*/, OdDbObjectId /*blockId*/, OdDbObjectId& /*varId*/) { return eNotImplemented; } virtual OdResult isAssocVariableDependent(const OdDbObject* /*pObject*/, bool& /*bDependent*/) { return eNotImplemented; } virtual OdResult evaluateNetwork(const OdDbObjectId& /*blockId*/, OdDbEvalContext* /*pContext*/ = 0) { return eNotImplemented; } virtual OdResult getConstrainedArc(const OdDbObject* /*pAssocVar*/, const OdDbObjectId& /*blockId*/, OdGeCircArc3d& /*arc*/) { return eNotImplemented; } virtual OdResult getAngularConstraintSegmentType(const OdDbObject* /*pAssocVar*/, bool& /*bCCW*/, bool& /*bAntiparallel*/) { return eNotImplemented; } virtual OdResult getAngularConstraintRefEnt(const OdDbObject* /*pAssocVar*/, const OdDbObjectId& /*blockId*/, OdDbObjectId& /*refEntId*/) { return eNotImplemented; } virtual OdResult getDistanceConstraint(const OdDbObject* /*pAssocVar*/, const OdDbObjectId& /*blockId*/, OdGePoint3d& /*startPt*/, OdGePoint3d& /*endPt*/) { return eNotImplemented; } virtual OdResult getAssocVariableName(const OdDbObject* pObject, OdString& name); virtual OdResult setAssocVariableName(const OdDbObject* /*pObject*/, const OdString& /*name*/) { return eNotImplemented; } virtual OdResult getAssocVariableValue(const OdDbObject* pObject, OdDbObjectId blockId, OdDbEvalVariant& value); virtual OdDbEvalVariant getAssocVariableValue(const OdDbObject* /*pObject*/) { return OdDbEvalVariant(); } virtual OdResult setAssocVariableValue(const OdDbObject* pObject, OdDbObjectId blockId, const OdDbEvalVariant& value); virtual OdResult setAssocVariableValue(const OdDbObject* /*pObject*/, const OdDbEvalVariant& /*value*/) { return eNotImplemented; } virtual OdResult setAssocVariableValue(const OdString& /*name*/, OdDbObjectId /*blockId*/, const OdDbEvalVariant& /*value*/) { return eNotImplemented; } virtual OdResult setAssocVariableExpression(const OdDbObject* /*pObject*/, const OdString& /*value*/) { return eNotImplemented; } virtual OdString getAssocVariableExpression(const OdDbObject* /*pObject*/) { return OdString::kEmpty; } virtual OdString getAssocVariableDescription(const OdDbObject* /*pObject*/) { return OdString::kEmpty; } virtual OdResult setAssocVariableDescription(const OdDbObject* /*pObject*/, const OdString& ) { return eNotImplemented; } virtual OdResult evaluateExpression(const OdDbObject* /*pObject*/, OdDbObjectIdArray& /*objectIds*/, OdDbEvalVariantArray& /*objectValues*/, OdDbEvalVariant* /*evaluatedExpressionValue*/, OdString* /*errorMessage*/ = 0) { return eNotImplemented; } virtual OdResult evaluateExpression(const OdDbObject* /*pObject*/, OdDbEvalVariant* /*evaluatedExpressionValue*/, OdString* /*errorMessage*/ = 0) const { return eNotImplemented; } virtual OdResult getDependencies(const OdDbObject* /*pObject*/, bool /*readDependenciesWanted*/, bool /*writeDependenciesWanted*/, OdDbObjectIdArray& /*dependencyIds*/) { return eNotImplemented; } virtual OdResult dependentOnObject(const OdDbObject* /*pObject*/, OdDbObjectId& ) { return eNotImplemented; } virtual bool isAssocDependency(const OdDbObject*) { return false; } virtual bool isAssocAction(const OdDbObject*) { return false; } virtual bool isAssocVariable(const OdDbObject*) { return false; } virtual OdResult getDependencyById(const OdDbObject* /*pAction*/, OdDbObjectId /*templateDependencyId*/, OdDbObjectPtr& /*pRuntimeDependency*/) { return eNotImplemented; } virtual OdResult getActionFromNetwork(const OdDbObject* /*pOriginalAction*/, OdDbObjectId /*templateBlockId*/, OdDbObjectPtr& /*pRuntimeAction*/) { return eNotImplemented; } virtual OdResult getDependencyFromNetwork(const OdDbObject* /*pOriginalDependency*/, OdDbObjectId /*templateBlockId*/, OdDbObjectId& /*runtimeDependencyId*/) { return eNotImplemented; } virtual bool isVarExpressionConstant(const OdDbObject* /*pAssocVar*/) { return true; } virtual bool expressionReferencesStringVar(const OdDbObject* /*pAssocVar*/, const OdString& /*expression*/) { return false; } virtual bool isNameUniqueInNetwork(const OdDbObject* /*pAssocVar*/, const OdString& /*name*/) { return true; } virtual OdResult getVariableNameAndExpression(const OdDbObject* /*pDependency*/, OdString& /*name*/, OdString& /*expression*/) { return eNotImplemented; } virtual OdResult setVariableNameAndExpression(OdDbObject* /*pDependency*/, const OdString& /*name*/, const OdString& /*expression*/) { return eNotImplemented; } virtual OdResult evaluate(OdDbObject* /*pDependency*/) { return eNotImplemented; } virtual OdResult addBlockPostponedAction(OdDbBlockPostponedActionPtr /*pAction*/) { return eNotImplemented; } virtual OdResult setChangedStatus(const OdDbObjectId& /*dependencyId*/) { return eNotImplemented; } virtual OdResult getOwningNetwork(const OdDbObject* /*pObject*/, OdDbObjectId& /*networkId*/) { return eNotImplemented; } virtual OdResult getInstanceFromObject(const OdDbObject* /*pObject*/, OdDbObjectId& /*networkId*/, bool /*createIfDoesntExist*/) { return eNotImplemented; } virtual OdResult getNetworkActions(const OdDbObjectId& /*networkId*/, OdDbObjectIdArray& /*varIds*/) { return eNotImplemented; } virtual OdResult getDependencyBody(const OdDbObject* /*pDependency*/, OdDbObjectId& /*bodyId*/) { return eNotImplemented; } virtual OdResult setOwningBlockReference(const OdDbObject* /*pAssocAction*/, const OdDbObjectId& /*blockRefId*/) { return eNotImplemented; } virtual OdResult getAngularConstraintType(const OdDbObjectId& /*dependencyId*/, int& /*constraintType*/) { return eNotImplemented; } }; /*!DOM*/ typedef OdSmartPtr OdDbConstraintsInterfacePEPtr; //DOM-IGNORE-END #endif // _ODDBCONSTRAINTSINTERFACEPE_INCLUDED_