/////////////////////////////////////////////////////////////////////////////// // 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 __NW_TIME_LINER_TASK_ITEM_H__ #define __NW_TIME_LINER_TASK_ITEM_H__ #include "NwObject.h" #include "NwSavedFolderItem.h" #include "NwTimeLinerTypes.h" class OdNwFindSelection; /** \details This template class is a specialization of the OdSmartPtr class for an OdNwFindSelection object pointer. */ typedef OdSmartPtr OdNwFindSelectionPtr; class OdNwSelectionVariant; /** \details This template class is a specialization of the OdSmartPtr class for an OdNwSelectionVariant object pointer. */ typedef OdSmartPtr OdNwSelectionVariantPtr; class OdNwElementItemPath; /** \details This template class is a specialization of the OdSmartPtr class for an OdNwElementItemPath object pointer. */ typedef OdSmartPtr OdNwElementItemPathPtr; /** This class represents timeliner task item. */ class NWDBEXPORT OdNwTimeLinerTaskItem : public OdNwSavedGroupItem { //DOM-IGNORE-BEGIN ODRX_DECLARE_MEMBERS(OdNwTimeLinerTaskItem); //DOM-IGNORE-END public: /** \details Default constructor. */ OdNwTimeLinerTaskItem(); /** \details Virtual destructor. Frees allocated resources. */ virtual ~OdNwTimeLinerTaskItem(); /** \details Returns enabled state of a task. \returns The true value if state of a task is enabled, or false otherwise. */ bool getEnabled() const; /** \details Returns the synchronization ID used to associate this task with an external task from a data source. \returns Synchronization ID as an OdString value. */ OdString getSyncId() const; /** \details Returns the human readable ID associated with an external task. \returns Human readable ID as an OdString value. */ OdString getDisplayId() const; /** \details Returns the task's actual start date. \returns Actual start date as a time_t value. */ time_t getActualStartDate() const; /** \details Returns the task's actual end date. \returns Actual end date as a time_t value. */ time_t getActualEndDate() const; /** \details Indicates whether the state of actual start and end dates is enabled. \returns The true value if actual start and end dates have enabled state, or false otherwise. */ bool getActualEnabled() const; /** \details Indicates whether the presence of actual start date. \returns The true value if actual start date is provides, or false otherwise. */ bool getActualStartDatePresent() const; /** \details Indicates whether the presence of actual end date. \returns The true value if actual end date is provides, or false otherwise. */ bool getActualEndDatePresent() const; /** \details Returns the planned start date of the task. \returns Planned start date as a time_t value. */ time_t getPlannedStartDate() const; /** \details Returns the planned end date of the task. \returns Planned end date as a time_t value. */ time_t getPlannedEndDate() const; /** \details Indicates whether the enabled state of planned start and end dates. \returns The true value if planned start and end dates have enabled state, or false otherwise. */ bool getPlannedEnabled() const; /** \details Indicates whether the presence of planned start date. \returns The true value if planned start date is provides, or false otherwise. */ bool getPlannedStartDatePresent() const; /** \details Indicates whether the of planned end date. \returns The true value if planned end date is provides, or false otherwise. */ bool getPlannedEndDatePresent() const; /** \details Returns the name of the simulation type. \returns The name of the simulation type to which this belongs, or an empty string. */ OdString getSimulationTaskTypeName() const; /** \details Returns the name of the data source. \returns The name of the data source to which this belongs, or an empty string. */ OdString getDataSourceName() const; /** \details Returns the behavior for the animation associated with task via AnimationPath. \returns One of the enumerated items from the NwTimeLinerAnimationBehavior::Enum enumerated type. \remarks The returned type can be one of the following: Name Value Description NwTimeLinerAnimationBehavior::SCALE 0 The animation duration is scaled to be same as task duration. NwTimeLinerAnimationBehavior::START 1 The animation starts when the task starts. NwTimeLinerAnimationBehavior::END 2 The animation starts so that it ends when the task ends.
*/ NwTimeLinerAnimationBehavior::Enum getAnimationBehaviour() const; /** \details Returns the find selection that specifies the ModelItems that task acts upon. \returns OdNwFindSelectionPtr pointer type value. */ OdNwFindSelectionPtr getFindSelection() const; /** \details Returns the variant selection that specifies the ModelItems that task acts upon. \returns OdNwSelectionVariantPtr pointer type value. */ OdNwSelectionVariantPtr getSelectionVariant() const; /** \details Returns the smart pointer to OdNwElementItemPath object. \returns The path to saved animation element. */ OdNwElementItemPathPtr getAnimationPath() const; /** \details Returns the smart pointer to OdNwElementItemPath object. \returns The path to script element. */ OdNwElementItemPathPtr getScriptPath() const; /** \details Indicates whether the presence of progress percentage. \returns The true value if progress percentage is provides, or false otherwise. */ bool getProgressPresent() const; /** \details Returns progress percentage value. \returns Progress percentage value as a double value. */ double getProgressPercent() const; /** \details Returns the material cost for this task. \returns The material cost as a double value. */ double getMaterialCost() const; /** \details Indicates whether the presence of material cost. \returns The true value if material cost is provides, or false otherwise. */ bool getMaterialCostPresent() const; /** \details Returns the labor cost for this task. \returns The labor cost as a double value. */ double getLaborCost() const; /** \details Indicates whether the presence of labor cost. \returns The true value if labor cost is provides, or false otherwise. */ bool getLaborCostPresent() const; /** \details Returns the equipment cost for this task. \returns The equipment cost as a double value. */ double getEquipmentCost() const; /** \details Indicates whether the presence of equipment cost. \returns The true value if equipment cost is provides, or false otherwise. */ bool getEquipmentCostPresent() const; /** \details Returns the subcontractor cost for this task. \returns The subcontractor cost as a double value. */ double getSubcontractorCost() const; /** \details Indicates whether the presence of subcontractor cost. \returns The true value if subcontractor cost is provides, or false otherwise. */ bool getSubcontractorCostPresent() const; /** \details Gets user data fields. \returns User data fields as an OdArray. */ OdArray getUserDataList() const; }; /** \details This template class is a specialization of the OdSmartPtr class for OdNwTimeLinerTaskItem object pointers. */ typedef OdSmartPtr OdNwTimeLinerTaskItemPtr; #endif /* __NW_TIME_LINER_TASK_ITEM_H__ */