/////////////////////////////////////////////////////////////////////////////// // 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. /////////////////////////////////////////////////////////////////////////////// // This file is generated automatically. #ifndef _IFC4X2_IFCTASKTIME_AUTO_IMPL_H #define _IFC4X2_IFCTASKTIME_AUTO_IMPL_H #include "IfcSchedulingTimeAutoImpl.h" #include "TD_PackPush.h" /** \details The namespace contains schema-dependent classes, definitions and sub routines for work with IFC4X2 express schema definitions. */ namespace OdIfc4x2 { /** \details IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times. */ class IFC4X2_EXPORT IfcTaskTime : public IfcSchedulingTime { //DOM-IGNORE-BEGIN OD_EXP_DECLARE_MEMBERS(OdIfc4x2::IfcTaskTime); //DOM-IGNORE-END public: // // OdDAI early binding accessors // /** \details Returns the value of DurationType attribute. This attribute specifies the type of duration values for ScheduleDuration, ActualDuration and RemainingTime. The duration type is either work time or elapsed time. \returns Returns the value of DurationType attribute. */ IfcTaskDurationEnum getDurationType() const; /** \details Sets the value of DurationType attribute. This attribute specifies the type of duration values for ScheduleDuration, ActualDuration and RemainingTime. The duration type is either work time or elapsed time. \param DurationType [in] Duration type to set. */ void setDurationType(IfcTaskDurationEnum DurationType); /** \details Returns the value of ScheduleDuration attribute. This attribute represents the amount of time which is scheduled for completion of a task. The value can be measured or somehow calculated, which is defined byScheduleDataOrigin. The value is either provided as elapsed time or work time, which is defined by DurationType. \returns Returns the value of ScheduleDuration attribute. \remarks Scheduled duration can be calculated as the time from scheduled start date to scheduled finish date. */ const OdAnsiString& getScheduleDuration() const; /** \details Sets the value of ScheduleDuration attribute. This attribute represents the amount of time which is scheduled for completion of a task. The value can be measured or somehow calculated, which is defined byScheduleDataOrigin. The value is either provided as elapsed time or work time, which is defined by DurationType. \param ScheduleDuration [in] Schedule duration to set. \remarks Scheduled duration can be calculated as the time from scheduled start date to scheduled finish date. */ void setScheduleDuration(const OdAnsiString& ScheduleDuration); /** \details Returns the value of ScheduleStart attribute. This attribute represents the date on which a task is scheduled to be started. The value can be measured or somehow calculated, which is defined byScheduleDataOrigin. \returns Returns the value of ScheduleStart attribute. \remarks The scheduled start date must be greater than or equal to the earliest start date. */ const OdAnsiString& getScheduleStart() const; /** \details Sets the value of ScheduleStart attribute. This attribute represents the date on which a task is scheduled to be started. The value can be measured or somehow calculated, which is defined byScheduleDataOrigin. \param ScheduleStart [in] Schedule start to set. \remarks The scheduled start date must be greater than or equal to the earliest start date. */ void setScheduleStart(const OdAnsiString& ScheduleStart); /** \details Returns the value of ScheduleFinish attribute. This attribute represents the date on which a task is scheduled to be finished. The value can be measured or somehow calculated, which is defined by ScheduleDataOrigin. \returns Returns the value of ScheduleFinish attribute. \remarks The scheduled finish date must be greater than or equal to the earliest finish date. */ const OdAnsiString& getScheduleFinish() const; /** \details Sets the value of ScheduleFinish attribute. This attribute represents the date on which a task is scheduled to be finished. The value can be measured or somehow calculated, which is defined by ScheduleDataOrigin. \param ScheduleFinish [in] Schedule finish to set. \remarks The scheduled finish date must be greater than or equal to the earliest finish date. */ void setScheduleFinish(const OdAnsiString& ScheduleFinish); /** \details Returns the value of EarlyStart attribute. This attribute represents the earliest date on which a task can be started. \returns Returns the value of EarlyStart attribute. */ const OdAnsiString& getEarlyStart() const; /** \details Sets the value of EarlyStart attribute. This attribute represents the earliest date on which a task can be started. \param EarlyStart [in] Early start to set. */ void setEarlyStart(const OdAnsiString& EarlyStart); /** \details Returns the value of EarlyFinish attribute. This attribute represents the earliest date on which a task can be finished. \returns Returns the value of EarlyFinish attribute. */ const OdAnsiString& getEarlyFinish() const; /** \details Sets the value of EarlyFinish attribute. This attribute represents the earliest date on which a task can be finished. \param EarlyFinish [in] Early finish to set. */ void setEarlyFinish(const OdAnsiString& EarlyFinish); /** \details Returns the value of LateStart attribute. This attribute represents the latest date on which a task can be started. \returns Returns the value of LateStart attribute. */ const OdAnsiString& getLateStart() const; /** \details Sets the value of LateStart attribute. This attribute represents the latest date on which a task can be started. \param LateStart [in] Late start to set. */ void setLateStart(const OdAnsiString& LateStart); /** \details Returns the value of LateFinish attribute. This attribute represents the latest date on which a task can be finished. \returns Returns the value of LateFinish attribute. */ const OdAnsiString& getLateFinish() const; /** \details Sets the value of LateFinish attribute. This attribute represents the latest date on which a task can be finished. \param LateFinish [in] Late finish to set. */ void setLateFinish(const OdAnsiString& LateFinish); /** \details Returns the value of FreeFloat attribute. This attribute represents the amount of time during which the start or finish of a task can be varied without any effect on the overall program of work. \returns Returns the value of FreeFloat attribute. */ const OdAnsiString& getFreeFloat() const; /** \details Sets the value of FreeFloat attribute. This attribute represents the amount of time during which the start or finish of a task can be varied without any effect on the overall program of work. \param FreeFloat [in] Free float to set. */ void setFreeFloat(const OdAnsiString& FreeFloat); /** \details Returns the value of TotalFloat attribute. This attribute represents the difference between the duration available to carry out a task and the scheduled duration of the task. \returns Returns the value of TotalFloat attribute. \remarks Total Float time can be calculated as a the difference between the scheduled duration of a task and the available duration from earliest start to latest finish. Float time can be either positive, zero or negative. Where it is zero or negative, the task becomes critical. */ const OdAnsiString& getTotalFloat() const; /** \details Sets the value of TotalFloat attribute. This attribute represents the difference between the duration available to carry out a task and the scheduled duration of the task. \param TotalFloat [in] Total float to set. \remarks Total Float time can be calculated as a the difference between the scheduled duration of a task and the available duration from earliest start to latest finish. Float time can be either positive, zero or negative. Where it is zero or negative, the task becomes critical. */ void setTotalFloat(const OdAnsiString& TotalFloat); /** \details Returns the value of IsCritical attribute. This attribute indicates whether a scheduled task is a critical item within the program. \returns Returns the value of IsCritical attribute. \remarks A task becomes critical when the float time becomes zero or negative. */ OdDAI::Boolean getIsCritical() const; /** \details Sets the value of IsCritical attribute. This attribute indicates whether a scheduled task is a critical item within the program. \param IsCritical [in] IsCritical attribute to set. \remarks A task becomes critical when the float time becomes zero or negative. */ void setIsCritical(OdDAI::Boolean IsCritical); /** \details Returns the value of StatusTime attribute. This attribute represents the date or time at which the status of the tasks within the schedule is analyzed. \returns Returns the value of StatusTime attribute. */ const OdAnsiString& getStatusTime() const; /** \details Sets the value of StatusTime attribute. This attribute represents the date or time at which the status of the tasks within the schedule is analyzed. \param StatusTime [in] Status time to set. */ void setStatusTime(const OdAnsiString& StatusTime); /** \details Returns the value of ActualDuration attribute. This attribute represents the actual duration of the task. The value is either provided as elapsed time or work time, which is defined by DurationType. \returns Returns the value of ActualDuration attribute. */ const OdAnsiString& getActualDuration() const; /** \details Sets the value of ActualDuration attribute. This attribute represents the actual duration of the task. The value is either provided as elapsed time or work time, which is defined by DurationType. \param ActualDuration [in] Actual duration to set. */ void setActualDuration(const OdAnsiString& ActualDuration); /** \details Returns the value of ActualStart attribute. This attribute represents the date on which a task is actually started. \returns Returns the value of ActualStart attribute. \remarks The scheduled start date must be greater than or equal to the earliest start date. No constraint is applied to the actual start date with respect to the scheduled start date since a task can be started earlier than had originally been scheduled if circumstances allow. */ const OdAnsiString& getActualStart() const; /** \details Sets the value of ActualStart attribute. This attribute represents the date on which a task is actually started. \param ActualStart [in] Actual start to set. \remarks The scheduled start date must be greater than or equal to the earliest start date. No constraint is applied to the actual start date with respect to the scheduled start date since a task can be started earlier than had originally been scheduled if circumstances allow. */ void setActualStart(const OdAnsiString& ActualStart); /** \details Returns the value of ActualFinish attribute. This attribute represents the date on which a task is actually finished. \returns Returns the value of ActualFinish attribute. */ const OdAnsiString& getActualFinish() const; /** \details Sets the value of ActualFinish attribute. This attribute represents the date on which a task is actually finished. \param ActualFinish [in] Actual finish to set. */ void setActualFinish(const OdAnsiString& ActualFinish); /** \details Returns the value of RemainingTime attribute. This attribute represents the amount of time remaining to complete a task. The value is either provided as elapsed time or work time, which is defined by DurationType. \returns Returns the value of RemainingTime attribute. \remarks The time remaining in which to complete a task can be determined both for tasks which have not yet started and those which have. Remaining time for a task that has not started has the same value as the scheduled duration. For a task already started, remaining time is calculated as the difference between the scheduled finish and the point of analysis. */ const OdAnsiString& getRemainingTime() const; /** \details Sets the value of RemainingTime attribute. This attribute represents the amount of time remaining to complete a task. The value is either provided as elapsed time or work time, which is defined by DurationType. \param RemainingTime [in] Remaining time to set. \remarks The time remaining in which to complete a task can be determined both for tasks which have not yet started and those which have. Remaining time for a task that has not started has the same value as the scheduled duration. For a task already started, remaining time is calculated as the difference between the scheduled finish and the point of analysis. */ void setRemainingTime(const OdAnsiString& RemainingTime); /** \details Returns the value of Completion attribute. This attribute represents the extent of completion expressed as a ratio or percentage. \returns Returns the value of Completion attribute. */ double getCompletion() const; /** \details Sets the value of Completion attribute. This attribute represents the extent of completion expressed as a ratio or percentage. \param Completion [in] Completion to set. */ void setCompletion(double Completion); public: /** \details Default constructor for the IfcTaskTime class. */ IfcTaskTime(); /** \details Reads object's data from the specified filer. \param rdFiler [in] Pointer to a filer from which to read the data. \returns A value of OdResult type that contains the result of the method execution. */ virtual OdResult inFields(OdDAI::OdSpfFilerBase* rdFiler) override; /** \details Writes object's data the the specified filer. \param wrFiler [in] Pointer to a filer to which to write the data. \returns A value of OdResult type that contains the result of the method execution. */ virtual OdResult outFields(OdDAI::OdSpfFilerBase* wrFiler) override; /** \details Returns a type of a class instance. \returns Pointer to the OdDAI::Entity type that determines an entity definition within a schema. */ virtual OdDAI::Entity* getInstanceType() const override; /** \details Returns an attribute value for the specified attribute name. \param attrName [in] Name of an attribute to query. \returns OdRxValue object that represents a generic variant type value. */ virtual OdRxValue getAttr(const char * attrName) const override; /** \details Resets a value for the specified attribute. \param explicitAttrName [in] Explicit name of the attribute to reset. */ virtual void unsetAttr(const char * explicitAttrName) override; /** \details Checks whether the specified attribute is set. \param explicitAttrName [in] Explicit name of the attribute to test. \returns true if the specified attribute is set, false otherwise. */ virtual bool testAttr(const char * explicitAttrName) const override; /** \details Sets the specified attribute with a given value. \param explicitAttrName [in] Explicit name of the attribute to set. \param val [in] Value to set. \returns true if the value is successfully set for the specified attribute, false otherwise. */ virtual bool putAttr(const char * explicitAttrName, const OdRxValue &val) override; /** \details Checks whether the specified instance is the object derived from or belongs to this class. \param entityType [in] Entity to check. \returns true if the specified instance is the object derived from or belongs to this class, false otherwise. */ virtual bool isKindOf(OdIfc::OdIfcEntityType entityType) const override; /** \details Returns the type of this entity. \returns A value of the OdIfc::OdIfcEntityType type that represents type of this entity. */ virtual OdIfc::OdIfcEntityType type() const override; /** \details Returns an attribute value for the specified attribute definition. \param attrDef [in] Attribute definition to query. \returns OdRxValue object that represents a generic variant type value. */ virtual OdRxValue getAttr(const OdIfc::OdIfcAttribute attrDef) const override; /** \details Resets a value for the specified attribute. \param explicitAttrDef [in] Explicit definition that represents an attribute to reset. */ virtual void unsetAttr(const OdIfc::OdIfcAttribute explicitAttrDef) override; /** \details Checks whether the specified attribute is set. \param explicitAttrDef [in] Attribute definition to test. \returns true if the specified attribute is set, false otherwise. */ virtual bool testAttr(const OdIfc::OdIfcAttribute explicitAttrDef) const override; /** \details Sets the specified attribute with a given value. \param explicitAttrDef [in] Explicit attribute definition to set. \param val [in] Value to set. \returns true if the value is successfully set for the specified attribute, false otherwise. */ virtual bool putAttr(const OdIfc::OdIfcAttribute explicitAttrDef, const OdRxValue &val) override; protected: // Fields declaration: OdDAI::Enum m_DurationType; // IfcTaskDurationEnum [optional] OdAnsiString m_ScheduleDuration; // IfcDuration [optional] OdAnsiString m_ScheduleStart; // IfcDateTime [optional] OdAnsiString m_ScheduleFinish; // IfcDateTime [optional] OdAnsiString m_EarlyStart; // IfcDateTime [optional] OdAnsiString m_EarlyFinish; // IfcDateTime [optional] OdAnsiString m_LateStart; // IfcDateTime [optional] OdAnsiString m_LateFinish; // IfcDateTime [optional] OdAnsiString m_FreeFloat; // IfcDuration [optional] OdAnsiString m_TotalFloat; // IfcDuration [optional] OdDAI::Boolean m_IsCritical; // IfcBoolean [optional] OdAnsiString m_StatusTime; // IfcDateTime [optional] OdAnsiString m_ActualDuration; // IfcDuration [optional] OdAnsiString m_ActualStart; // IfcDateTime [optional] OdAnsiString m_ActualFinish; // IfcDateTime [optional] OdAnsiString m_RemainingTime; // IfcDuration [optional] IfcPositiveRatioMeasure m_Completion; // IfcPositiveRatioMeasure [optional] }; /** \details A data type that represents a smart pointer to a IfcTaskTime object. */ typedef OdSmartPtr IfcTaskTimePtr; } // namespace #include "TD_PackPop.h" #endif // _IFC4X2_IFCTASKTIME_AUTO_IMPL_H