/////////////////////////////////////////////////////////////////////////////// // 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 _IFC2X_FINAL_IFCWORKORDER_AUTO_IMPL_H #define _IFC2X_FINAL_IFCWORKORDER_AUTO_IMPL_H #include "IfcProjectOrderAutoImpl.h" #include "IfcDateAndTimeAutoImpl.h" #include "IfcCostScheduleAutoImpl.h" #include "IfcWorkPlanAutoImpl.h" #include "IfcCostValueAutoImpl.h" #include "TD_PackPush.h" /** \details The namespace contains schema-dependent classes, definitions and sub routines for work with IFC2X_FINAL express schema definitions. */ namespace OdIfc2x_final { /** \details An IfcWorkOrder represents a work order requested to accomplish a construction or a maintenance work. It contains information about the building components that require the work (by the control relationship, i.e. IfcRelAssingnsToControl, through IfcObject), descriptions of the job, work type, contractual type, requested or actual start and finish time, a cost estimate to the work order, a work plan for the work required, and a budget source for the work. */ class IFC2X_FINAL_EXPORT IfcWorkOrder : public IfcProjectOrder { //DOM-IGNORE-BEGIN OD_EXP_DECLARE_MEMBERS(OdIfc2x_final::IfcWorkOrder); //DOM-IGNORE-END public: // // OdDAI early binding accessors // /** \details Returns the value of ProductDescription attribute. This attribute represents description of the products that require the work. \returns Returns the value of ProductDescription attribute. */ const OdAnsiString& getProductDescription() const; /** \details Sets the value of ProductDescription attribute. This attribute represents description of the products that require the work. \param ProductDescription [in] ProductDescription attribute to set. */ void setProductDescription(const OdAnsiString& ProductDescription); /** \details Returns the value of ShortJobDescription attribute. This attribute represents the short description of the job requested. \returns Returns the value of ShortJobDescription attribute. */ const OdAnsiString& getShortJobDescription() const; /** \details Sets the value of ShortJobDescription attribute. This attribute represents the short description of the job requested. \param ShortJobDescription [in] ShortJobDescription attribute to set. */ void setShortJobDescription(const OdAnsiString& ShortJobDescription); /** \details Returns the value of LongJobDescription attribute. This attribute represents the description of the job requested. \returns Returns the value of LongJobDescription attribute. */ const OdAnsiString& getLongJobDescription() const; /** \details Sets the value of LongJobDescription attribute. This attribute represents the description of the job requested. \param LongJobDescription [in] LongJobDescription attribute to set. */ void setLongJobDescription(const OdAnsiString& LongJobDescription); /** \details Returns the value of WorkTypeRequested attribute. This attribute represents the work task type requested where there are categorizations of types of work task. It could be used to identify a remedial task, minor work task, electrical task etc. \returns Returns the value of WorkTypeRequested attribute. */ const OdAnsiString& getWorkTypeRequested() const; /** \details Sets the value of WorkTypeRequested attribute. This attribute represents the work task type requested where there are categorizations of types of work task. It could be used to identify a remedial task, minor work task, electrical task etc. \param WorkTypeRequested [in] WorkTypeRequested attribute to set. */ void setWorkTypeRequested(const OdAnsiString& WorkTypeRequested); /** \details Returns the value of ContractualType attribute. This attribute represents the contractual type of the work. \returns Returns the value of ContractualType attribute. */ const OdAnsiString& getContractualType() const; /** \details Sets the value of ContractualType attribute. This attribute represents the contractual type of the work. \param ContractualType [in] ContractualType attribute to set. */ void setContractualType(const OdAnsiString& ContractualType); /** \details Gets the value of IfNotAccomplished attribute. This attribute represents the comments if the job is not accomplished. \param IfNotAccomplished [out] Receives the IfNotAccomplished attribute. */ void getIfNotAccomplished(OdArray& IfNotAccomplished) const; /** \details Returns the value of IfNotAccomplished attribute. This attribute represents the comments if the job is not accomplished. \returns Returns the value of IfNotAccomplished attribute. */ OdDAI::ListOfOdAnsiString& ifNotAccomplished(); /** \details Returns the value of RequestedStartTime attribute. This attribute represents the date and time at which work on the Work Order is requested to start. \returns Returns the value of RequestedStartTime attribute. */ const OdDAIObjectId& getRequestedStartTime() const; /** \details Sets the value of RequestedStartTime attribute. This attribute represents the date and time at which work on the Work Order is requested to start. \param RequestedStartTime [in] RequestedStartTime attribute to set. */ void setRequestedStartTime(const OdDAIObjectId& RequestedStartTime); /** \details Returns the value of RequestedFinishTime attribute. This attribute represents the date and time at which work on the Work Order is requested to finish. \returns Returns the value of RequestedFinishTime attribute. */ const OdDAIObjectId& getRequestedFinishTime() const; /** \details Sets the value of RequestedFinishTime attribute. This attribute represents the date and time at which work on the Work Order is requested to finish. \param RequestedFinishTime [in] RequestedFinishTime attribute to set. */ void setRequestedFinishTime(const OdDAIObjectId& RequestedFinishTime); /** \details Returns the value of ActualStartTime attribute. This attribute represents the date and time at which work on the Work Order actually starts. \returns Returns the value of ActualStartTime attribute. */ const OdDAIObjectId& getActualStartTime() const; /** \details Sets the value of ActualStartTime attribute. This attribute represents the date and time at which work on the Work Order actually starts. \param ActualStartTime [in] ActualStartTime attribute to set. */ void setActualStartTime(const OdDAIObjectId& ActualStartTime); /** \details Returns the value of ActualFinishTime attribute. This attribute represents the date and time at which work on the Work Order actually finishes. \returns Returns the value of ActualFinishTime attribute. */ const OdDAIObjectId& getActualFinishTime() const; /** \details Sets the value of ActualFinishTime attribute. This attribute represents the date and time at which work on the Work Order actually finishes. \param ActualFinishTime [in] ActualFinishTime attribute to set. */ void setActualFinishTime(const OdDAIObjectId& ActualFinishTime); /** \details Returns the value of CostEstimate attribute. This attribute represents the total estimated cost. Use IfcCostSchedule to handle the detailed contexts of each cost item. \returns Returns the value of CostEstimate attribute. */ const OdDAIObjectId& getCostEstimate() const; /** \details Sets the value of CostEstimate attribute. This attribute represents the total estimated cost. Use IfcCostSchedule to handle the detailed contexts of each cost item. \param CostEstimate [in] CostEstimate attribute to set. */ void setCostEstimate(const OdDAIObjectId& CostEstimate); /** \details Returns the value of WorkPlan attribute. This attribute represents the work plan made for the work required by the work order. \returns Returns the value of WorkPlan attribute. */ const OdDAIObjectId& getWorkPlan() const; /** \details Sets the value of WorkPlan attribute. This attribute represents the work plan made for the work required by the work order. \param WorkPlan [in] WorkPlan attribute to set. */ void setWorkPlan(const OdDAIObjectId& WorkPlan); /** \details Returns the value of Status attribute. This attribute represents the status of the work order in relation to work required. \returns Returns the value of Status attribute. */ IfcWorkOrderStatusEnum getStatus() const; /** \details Sets the value of Status attribute. This attribute represents the status of the work order in relation to work required. \param Status [in] Status attribute to set. */ void setStatus(IfcWorkOrderStatusEnum Status); /** \details Gets the value of WorkOrderRiskType attribute. This attribute represents the types of risk associated with the completion of a work order. \param WorkOrderRiskType [in] Receives the WorkOrderRiskType attribute. */ void getWorkOrderRiskType(OdArray& WorkOrderRiskType) const; /** \details Returns the value of WorkOrderRiskType attribute. This attribute represents the types of risk associated with the completion of a work order. \returns Returns the value of WorkOrderRiskType attribute. */ OdDAI::SetOfEnum& workOrderRiskType(); /** \details Gets the value of PerformedBy attribute. This attribute represents the persons performing the actions required by the work order. \param PerformedBy [out] Receives the PerformedBy attribute. */ void getPerformedBy(OdDAIObjectIds& PerformedBy) const; /** \details Returns the value of PerformedBy attribute. This attribute represents the persons performing the actions required by the work order. \returns Returns the value of PerformedBy attribute. */ OdDAI::SetOfOdDAIObjectId& performedBy(); /** \details Returns the value of ActualCost attribute. This attribute represents the cost of completing a work order determined as a result of actions performed and spares, tools, equipment and consumables used. \returns Returns the value of ActualCost attribute. */ const OdDAIObjectId& getActualCost() const; /** \details Sets the value of ActualCost attribute. This attribute represents the cost of completing a work order determined as a result of actions performed and spares, tools, equipment and consumables used. \param ActualCost [in] ActualCost attribute to set. */ void setActualCost(const OdDAIObjectId& ActualCost); public: /** \details Default constructor for the IfcWorkOrder class. */ IfcWorkOrder(); /** \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_ProductDescription; // IfcLabel [optional] OdAnsiString m_ShortJobDescription; // IfcLabel OdAnsiString m_LongJobDescription; // IfcLabel [optional] OdAnsiString m_WorkTypeRequested; // IfcLabel [optional] OdAnsiString m_ContractualType; // IfcLabel [optional] OdDAI::ListOfOdAnsiString m_IfNotAccomplished; // LIST [1:?] of IfcLabel [optional] OdDAIObjectId m_RequestedStartTime; // IfcDateAndTime [optional] OdDAIObjectId m_RequestedFinishTime; // IfcDateAndTime [optional] OdDAIObjectId m_ActualStartTime; // IfcDateAndTime [optional] OdDAIObjectId m_ActualFinishTime; // IfcDateAndTime [optional] OdDAIObjectId m_CostEstimate; // IfcCostSchedule [optional] OdDAIObjectId m_WorkPlan; // IfcWorkPlan [optional] OdDAI::Enum m_Status; // IfcWorkOrderStatusEnum OdDAI::SetOfEnum m_WorkOrderRiskType; // SET [1:?] of IfcWorkOrderRiskTypeEnum [optional] OdDAI::SetOfOdDAIObjectId m_PerformedBy; // SET [1:?] of IfcPerson OdDAIObjectId m_ActualCost; // IfcCostValue [optional] }; /** \details A data type that represents a smart pointer to a IfcWorkOrder object. */ typedef OdSmartPtr IfcWorkOrderPtr; } // namespace #include "TD_PackPop.h" #endif // _IFC2X_FINAL_IFCWORKORDER_AUTO_IMPL_H