/////////////////////////////////////////////////////////////////////////////// // 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 _IFC4X1_IFCRESOURCETIME_AUTO_IMPL_H #define _IFC4X1_IFCRESOURCETIME_AUTO_IMPL_H #include "IfcSchedulingTimeAutoImpl.h" #include "TD_PackPush.h" /** \details The namespace contains schema-dependent classes, definitions and sub routines for work with IFC4X1 express schema definitions. */ namespace OdIfc4x1 { /** \details IfcResourceTime captures the time-related information about a construction resource. */ class IFC4X1_EXPORT IfcResourceTime : public IfcSchedulingTime { //DOM-IGNORE-BEGIN OD_EXP_DECLARE_MEMBERS(OdIfc4x1::IfcResourceTime); //DOM-IGNORE-END public: // // OdDAI early binding accessors // /** \details Returns the value of ScheduleWork attribute. This attribute represents the total work (e.g. person-hours) allocated to the task on behalf of the resource. \returns Returns the value of ScheduleWork attribute. \remarks This is not necessarily the same as the task duration (IfcTaskTime.ScheduleDuration); it can vary according to the resource usage ratio and other resources assigned to the task. */ const OdAnsiString& getScheduleWork() const; /** \details Sets the value of ScheduleWork attribute. This attribute represents the total work (e.g. person-hours) allocated to the task on behalf of the resource. \param ScheduleWork [in] Schedule work to set. \remarks This is not necessarily the same as the task duration (IfcTaskTime.ScheduleDuration); it can vary according to the resource usage ratio and other resources assigned to the task. */ void setScheduleWork(const OdAnsiString& ScheduleWork); /** \details Returns the value of ScheduleUsage attribute. This attribute represents the amount of the resource used concurrently. For example, 100% means 1 worker, 300% means 3 workers, 50% means half of 1 worker's time for scenarios where multitasking is feasible. If not provided, then the usage ratio is considered to be 100%. \returns Returns the value of ScheduleUsage attribute. */ double getScheduleUsage() const; /** \details Sets the value of ScheduleUsage attribute. This attribute represents the amount of the resource used concurrently. For example, 100% means 1 worker, 300% means 3 workers, 50% means half of 1 worker's time for scenarios where multitasking is feasible. If not provided, then the usage ratio is considered to be 100%. \param ScheduleUsage [in] Schedule usage to set. */ void setScheduleUsage(double ScheduleUsage); /** \details Returns the value of ScheduleStart attribute. This attribute represents the time when the resource is scheduled to start working. \returns Returns the value of ScheduleStart attribute. */ const OdAnsiString& getScheduleStart() const; /** \details Sets the value of ScheduleStart attribute. This attribute represents the time when the resource is scheduled to start working. \param ScheduleStart [in] Schedule start to set. */ void setScheduleStart(const OdAnsiString& ScheduleStart); /** \details Returns the value of ScheduleFinish attribute. This attribute represents the time when the resource is scheduled to finish working. \returns Returns the value of ScheduleFinish attribute. */ const OdAnsiString& getScheduleFinish() const; /** \details Sets the value of ScheduleFinish attribute. This attribute represents the time when the resource is scheduled to finish working. \param ScheduleFinish [in] Schedule finish to set. */ void setScheduleFinish(const OdAnsiString& ScheduleFinish); /** \details Returns the value of ScheduleContour attribute. This attribute indicates how a resource should be leveled over time by adjusting the resource usage according to a specified curve. Standard values include: 'Flat', 'BackLoaded', 'FrontLoaded', 'DoublePeak', 'EarlyPeak', 'LatePeak', 'Bell', and 'Turtle'. Custom values specify a custom name or formula. \returns Returns the value of ScheduleContour attribute. */ const OdAnsiString& getScheduleContour() const; /** \details Sets the value of ScheduleContour attribute. This attribute indicates how a resource should be leveled over time by adjusting the resource usage according to a specified curve. Standard values include: 'Flat', 'BackLoaded', 'FrontLoaded', 'DoublePeak', 'EarlyPeak', 'LatePeak', 'Bell', and 'Turtle'. Custom values specify a custom name or formula. \param ScheduleContour [in] Schedule contour to set. */ void setScheduleContour(const OdAnsiString& ScheduleContour); /** \details Returns the value of LevelingDelay attribute. This attribute represents a delay in the ScheduleStart caused by leveling. \returns Returns the value of LevelingDelay attribute. */ const OdAnsiString& getLevelingDelay() const; /** \details Sets the value of LevelingDelay attribute. This attribute represents a delay in the ScheduleStart caused by leveling. \param LevelingDelay [in] Leveling delay to set. */ void setLevelingDelay(const OdAnsiString& LevelingDelay); /** \details Returns the value of IsOverAllocated attribute. This attribute indicates whether the resource is scheduled in excess of its capacity. \returns Returns the value of IsOverAllocated attribute. */ OdDAI::Boolean getIsOverAllocated() const; /** \details Sets the value of IsOverAllocated attribute. This attribute indicates whether the resource is scheduled in excess of its capacity. \param IsOverAllocated [in] IsOverAllocated attribute to set. */ void setIsOverAllocated(OdDAI::Boolean IsOverAllocated); /** \details Returns the value of StatusTime attribute. This attribute represents the date and time for which status values are applicable; particularly completion, actual, and remaining values. If values are time-phased (the referencing IfcConstructionResource has associated time series values for attributes), then the status values can be determined from such time-phased data as of the StatusTime. \returns Returns the value of StatusTime attribute. */ const OdAnsiString& getStatusTime() const; /** \details Sets the value of StatusTime attribute. This attribute represents the date and time for which status values are applicable; particularly completion, actual, and remaining values. If values are time-phased (the referencing IfcConstructionResource has associated time series values for attributes), then the status values can be determined from such time-phased data as of the StatusTime. \param StatusTime [in] Status time to set. */ void setStatusTime(const OdAnsiString& StatusTime); /** \details Returns the value of ActualWork attribute. This attribute represents the actual work performed by the resource as of the StatusTime. \returns Returns the value of ActualWork attribute. */ const OdAnsiString& getActualWork() const; /** \details Sets the value of ActualWork attribute. This attribute represents the actual work performed by the resource as of the StatusTime. \param ActualWork [in] Actual work to set. */ void setActualWork(const OdAnsiString& ActualWork); /** \details Returns the value of ActualUsage attribute. This attribute represents the actual amount of the resource used concurrently. \returns Returns the value of ActualUsage attribute. */ double getActualUsage() const; /** \details Sets the value of ActualUsage attribute. This attribute represents the actual amount of the resource used concurrently. \param ActualUsage [in] Actual usage to set. */ void setActualUsage(double ActualUsage); /** \details Returns the value of ActualStart attribute. This attribute represents the time when the resource actually started working. \returns Returns the value of ActualStart attribute. */ const OdAnsiString& getActualStart() const; /** \details Sets the value of ActualStart attribute. This attribute represents the time when the resource actually started working. \param ActualStart [in] Actual start to set. */ void setActualStart(const OdAnsiString& ActualStart); /** \details Returns the value of ActualFinish attribute. This attribute represents the time when the resource actually finished working. \returns Returns the value of ActualFinish attribute. */ const OdAnsiString& getActualFinish() const; /** \details Sets the value of ActualFinish attribute. This attribute represents the time when the resource actually finished working. \param ActualFinish [in] Actual finish to set. */ void setActualFinish(const OdAnsiString& ActualFinish); /** \details Returns the value of RemainingWork attribute. This attribute represents the work remaining to be completed by the resource. \returns Returns the value of RemainingWork attribute. */ const OdAnsiString& getRemainingWork() const; /** \details Sets the value of RemainingWork attribute. This attribute represents the work remaining to be completed by the resource. \param RemainingWork [in] Remaining work to set. */ void setRemainingWork(const OdAnsiString& RemainingWork); double getRemainingUsage() const; void setRemainingUsage(double RemainingUsage); /** \details Returns the value of Completion attribute. This attribute represents the percent completion of this resource. * if the resource is assigned to a task, then indicates completion of the task on behalf of the resource * if the resource is partitioned into sub-allocations, then indicates overall completion of sub-allocations \returns Returns the value of Completion attribute. */ double getCompletion() const; /** \details Sets the value of Completion attribute. This attribute represents the percent completion of this resource. * if the resource is assigned to a task, then indicates completion of the task on behalf of the resource * if the resource is partitioned into sub-allocations, then indicates overall completion of sub-allocations \param Completion [in] Completion to set. */ void setCompletion(double Completion); public: /** \details Default constructor for the IfcResourceTime class. */ IfcResourceTime(); /** \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: OdAnsiString m_ScheduleWork; // IfcDuration [optional] IfcPositiveRatioMeasure m_ScheduleUsage; // IfcPositiveRatioMeasure [optional] OdAnsiString m_ScheduleStart; // IfcDateTime [optional] OdAnsiString m_ScheduleFinish; // IfcDateTime [optional] OdAnsiString m_ScheduleContour; // IfcLabel [optional] OdAnsiString m_LevelingDelay; // IfcDuration [optional] OdDAI::Boolean m_IsOverAllocated; // IfcBoolean [optional] OdAnsiString m_StatusTime; // IfcDateTime [optional] OdAnsiString m_ActualWork; // IfcDuration [optional] IfcPositiveRatioMeasure m_ActualUsage; // IfcPositiveRatioMeasure [optional] OdAnsiString m_ActualStart; // IfcDateTime [optional] OdAnsiString m_ActualFinish; // IfcDateTime [optional] OdAnsiString m_RemainingWork; // IfcDuration [optional] IfcPositiveRatioMeasure m_RemainingUsage; // IfcPositiveRatioMeasure [optional] IfcPositiveRatioMeasure m_Completion; // IfcPositiveRatioMeasure [optional] }; /** \details A data type that represents a smart pointer to a IfcResourceTime object. */ typedef OdSmartPtr IfcResourceTimePtr; } // namespace #include "TD_PackPop.h" #endif // _IFC4X1_IFCRESOURCETIME_AUTO_IMPL_H