CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
OdIfc2x_final::IfcTask Class Reference

#include <IfcTaskAutoImpl.h>

Inheritance diagram for OdIfc2x_final::IfcTask:
OdIfc2x_final::IfcProcess OdIfc2x_final::IfcObject OdIfc2x_final::IfcRoot OdIfc2x_final::OdIfc2x_FinalInstance OdIfc::OdIfcInstance OdIfc2x_final::IfcMove

Public Member Functions

const OdAnsiString & getTaskId () const
 
void setTaskId (const OdAnsiString &TaskId)
 
void getWBSCode (OdArray< OdAnsiString > &WBSCode) const
 
OdDAI::ListOfOdAnsiString & wBSCode ()
 
void getWBSSource (OdArray< OdAnsiString > &WBSSource) const
 
OdDAI::ListOfOdAnsiString & wBSSource ()
 
IfcTaskStatusEnum getStatus () const
 
void setStatus (IfcTaskStatusEnum Status)
 
void getMilestones (OdArray< OdDAI::Enum > &Milestones) const
 
OdDAI::SetOfEnum & milestones ()
 
const OdAnsiString & getWorkMethod () const
 
void setWorkMethod (const OdAnsiString &WorkMethod)
 
const OdDAIObjectId & getInPlaceQuantity () const
 
void setInPlaceQuantity (const OdDAIObjectId &InPlaceQuantity)
 
const OdDAIObjectId & getEstimatedQuantity () const
 
void setEstimatedQuantity (const OdDAIObjectId &EstimatedQuantity)
 
const OdDAIObjectId & getBudgetQuantity () const
 
void setBudgetQuantity (const OdDAIObjectId &BudgetQuantity)
 
OdDAI::Boolean getIsRootTask () const
 
void setIsRootTask (OdDAI::Boolean IsRootTask)
 
 IfcTask ()
 
virtual OdResult inFields (OdDAI::OdSpfFilerBase *rdFiler) override
 
virtual OdResult outFields (OdDAI::OdSpfFilerBase *wrFiler) override
 
virtual OdDAI::Entity * getInstanceType () const override
 
virtual OdRxValue getAttr (const char *attrName) const override
 
virtual void unsetAttr (const char *explicitAttrName) override
 
virtual bool testAttr (const char *explicitAttrName) const override
 
virtual bool putAttr (const char *explicitAttrName, const OdRxValue &val) override
 
virtual bool isKindOf (OdIfc::OdIfcEntityType entityType) const override
 
virtual OdIfc::OdIfcEntityType type () const override
 
virtual OdRxValue getAttr (const OdIfc::OdIfcAttribute attrDef) const override
 
virtual void unsetAttr (const OdIfc::OdIfcAttribute explicitAttrDef) override
 
virtual bool testAttr (const OdIfc::OdIfcAttribute explicitAttrDef) const override
 
virtual bool putAttr (const OdIfc::OdIfcAttribute explicitAttrDef, const OdRxValue &val) override
 
- Public Member Functions inherited from OdIfc2x_final::IfcProcess
const OdDAIObjectId & getProductivity () const
 
void setProductivity (const OdDAIObjectId &Productivity)
 
void getInvOperatesOn (OdDAIObjectIds &OperatesOn) const
 
void getInvIsSuccessorFrom (OdDAIObjectIds &IsSuccessorFrom) const
 
void getInvIsPredecessorTo (OdDAIObjectIds &IsPredecessorTo) const
 
- Public Member Functions inherited from OdIfc2x_final::IfcObject
const OdAnsiString & getObjectType () const
 
void setObjectType (const OdAnsiString &ObjectType)
 
void getInvIsDefinedBy (OdDAIObjectIds &IsDefinedBy) const
 
void getInvHasAssociations (OdDAIObjectIds &HasAssociations) const
 
void getInvHasAssignments (OdDAIObjectIds &HasAssignments) const
 
void getInvDecomposes (OdDAIObjectIds &Decomposes) const
 
void getInvIsDecomposedBy (OdDAIObjectIds &IsDecomposedBy) const
 
 IfcObject ()
 
- Public Member Functions inherited from OdIfc2x_final::IfcRoot
OdDAI::CompressedGUID getGlobalId () const
 
void setGlobalId (OdDAI::CompressedGUID GlobalId)
 
const OdDAIObjectId & getOwnerHistory () const
 
void setOwnerHistory (const OdDAIObjectId &OwnerHistory)
 
const OdAnsiString & getName () const
 
void setName (const OdAnsiString &Name)
 
const OdAnsiString & getDescription () const
 
void setDescription (const OdAnsiString &Description)
 
 IfcRoot ()
 
- Public Member Functions inherited from OdIfc::OdIfcInstance
 ODRX_DECLARE_MEMBERS (OdIfcInstance)
 
 OdIfcInstance ()
 
 ~OdIfcInstance ()
 
bool isInstanceOf (OdIfcEntityType entityType) const
 
IfcOpResult resolved ()
 
void resolve (IfcOpResult resolved, void *resPtr)
 
void unresolve ()
 
virtual void setGsNode (OdGsCache *pGsNode)
 
virtual OdGsCachegsNode () const
 
virtual OdUInt32 subSetAttributes (OdGiDrawableTraits *traits) const
 
virtual bool subWorldDraw (OdGiWorldDraw *wd) const
 
virtual OdDbStub * ownerId () const
 

Protected Attributes

OdAnsiString m_TaskId
 
OdDAI::ListOfOdAnsiString m_WBSCode
 
OdDAI::ListOfOdAnsiString m_WBSSource
 
OdDAI::Enum m_Status
 
OdDAI::SetOfEnum m_Milestones
 
OdAnsiString m_WorkMethod
 
OdDAIObjectId m_InPlaceQuantity
 
OdDAIObjectId m_EstimatedQuantity
 
OdDAIObjectId m_BudgetQuantity
 
OdDAI::Boolean m_IsRootTask
 
- Protected Attributes inherited from OdIfc2x_final::IfcProcess
OdDAIObjectId m_Productivity
 
- Protected Attributes inherited from OdIfc2x_final::IfcObject
OdAnsiString m_ObjectType
 
- Protected Attributes inherited from OdIfc2x_final::IfcRoot
OdDAI::CompressedGUID m_GlobalId
 
OdDAIObjectId m_OwnerHistory
 
OdAnsiString m_Name
 
OdAnsiString m_Description
 
- Protected Attributes inherited from OdIfc::OdIfcInstance
voidm_resPtr
 
IfcOpResult m_resolved
 

Additional Inherited Members

- Static Public Member Functions inherited from OdIfc::OdIfcInstance
static const OdGePoint3dasPoint3d (const OdIfcInstance *inst)
 
static const OdGePoint2dasPoint2d (const OdIfcInstance *inst)
 
static const OdGeVector3dasVector3d (const OdIfcInstance *inst)
 
static const OdGeVector2dasVector2d (const OdIfcInstance *inst)
 
static const OdGeMatrix2dasMatrix2d (const OdIfcInstance *inst)
 
static const OdGeMatrix3dasMatrix3d (const OdIfcInstance *inst)
 
static OdIfcCompoundPtr asCompound (OdSmartPtr< OdIfcInstance > inst)
 
static const OdCmEntityColorasRgbColor (const OdIfcInstance *inst)
 

Detailed Description

An IfcTask is an identifiable unit of work to be carried out in a construction project. A task is typically used to describe an activity for the construction or installation of products, but is not limited to these types. For example, it might be used to describe design processes, move operations and other design, construction and operation related activities as well. Quantities of resources consumed by the task are dealt with by defining the IfcElementQuantity for the resource and not at the instance of IfcTask.

  • Attribute Use Definition - Each occurrence of IfcTask is given a name that is indicative of its content (IfcRoot.Name). A textual description of the task can be provided and this can be further elaborated by a narrative long description (IfcProcess.LongDescription). A work method can be declared for the method of work used in carrying out a task. A task is identified as being either a milestone task or not. A milestone task is defined by the marker IsMilestone and has no duration. A status and priority for each task can also be set.
  • Time and Duration Use Definition - Compared to releases before IFC4, basic task time information (scheduled start time, scheduled finish time, duration) is now directly attached to IfcTask through the TaskTime attribute. Regular tasks are defined through IfcTaskTime. Recurring tasks are defined through IfcTaskTimeRecurring. In case a regular task is derived from a recurring task both tasks should be linked together through a IfcRelNests relationship, where IfcRelNests.IsNestedBy points to the recurring task and IfcRelNests.Nests points to all regular tasks that have been derived from the recurring task.
  • Representation of Other Activities - The use definitions for IfcTask have been generalized to represent other activities as well, including activities that had been defined by own entities in previous IFC releases. This includes: Order actions Move operations

IfcTask can also be used to describe an activity that moves people, groups within an organization or complete organizations together with their associated furniture and equipment from one place to another. Thus, it replaces the previous IFC entity IfcMove. The functionality is represented in IfcTask as follows: Move from: The place from which actors and their associated equipment are moving. Use IfcRelAssignsToProcess where RelatingProcess points to the task and RelatedObjects holds the location(s) from which to move. Move to: The place to which actors and their associated equipment are moving. Use IfcRelAssignsToProduct where RelatedObjects points to the task(s) and RelatingProduct points to the location to which to move. Punch list: A list of points concerning a move that require attention. Use LongDescription or identify sub-tasks to track punch list items individually via IfcRelNests.

  • Object Typing - The IfcTask defines the expected or actual occurrence of any task. Common information about task types is handled by IfcTaskType. EXAMPLE: It includes fixed duration, fixed unit or fixed work. An IfcTask can be aggregated to a task type in order to specify a task sequence or any time-related information, e.g. the duration of a task.
  • Property Sets - This concept can be applied to the following resources: Pset_PackingInstructions (only applies to MOVE)
  • Nesting - IfcTask can be contained within an IfcTask using the IfcRelNests relationship. An IfcTask can in turn nest other IfcTask, IfcProcedure or IfcEvent entities. Such nesting indicates decomposed level of detail. From IFC4 onwards it is required to have a summary task (root of all tasks), which is used to define a link to the work plan or work schedule. All subtasks of the summary tasks are then implicitly linked to this work plan or work schedule.

As shown on the image below, the installation of a number of items of equipment within a particular space can be the subject of a single task which is identified as 'fix equipment in space 123'. IfcTask represents the occurrence of a work performance of a type of process in a construction plan.

<IMAGE ifctask_example>

A task can nest other tasks as sub-items; the nesting relationship is modeled by IfcRelNests as shown on the image below. For example, the construction of a stud wall can be designated as a nesting task named 'install wall #1' including other tasks such as 'install dry wall', 'install studs', 'wall taping', and 'erect wall' as sub-processes.

The hierarchy and order defined through IfcRelNests enables to order the tasks in a tree view or list view structure.

<IMAGE IfcTask_instantiation_diagram>

A top-level task is declared within the IfcProject using the IfcRelDeclares relationship.

  • Sequential Connectivity - The relationship IfcRelSequence is used to indicate control flow. An IfcTask as a successor to an IfcTask indicates logical sequence how these tasks should be performed. IfcTask's can be triggered or can trigger IfcEvent's, which is also defined through the IfcRelSequence relationship.
  • Control Assignment - Occurrences of IfcTask can be assigned to an IfcWorkControl (either a work plan or a work schedule) through IfcRelAssignsToControl. Note that the IfcRelAssignsTasks relationship class has been removed in IFC4 and is no longer available.
  • Process Assignment - It is suggested to use the 'summary task' (root element of the task hierarchy that is required for task management purposes) to assign all subtask to a work plan or work schedule. Resources used by tasks are assigned by IfcRelAssignsToProcess.
  • Classification - An IfcTask can be assigned a Work Breakdown Structure (WBS) code. A WBS code is dealt with as a classification of task and is associated to a task occurrence using the IfcRelAssociatesClassification relationship class. As well as being to designate the code, the classification structure also enables the source of the work breakdown structure classification to be identified.
  • Constraint - Constraints can be applied to a task to indicate fixed task duration, fixed start or fixed finish, where IfcMetric.ReferencePath is set to the corresponding attribute on the IfcTaskTime entity.

Definition at line 123 of file Ifc2x_Final/IfcTaskAutoImpl.h.

Constructor & Destructor Documentation

◆ IfcTask()

OdIfc2x_final::IfcTask::IfcTask ( )

Default constructor for the IfcTask class.

Member Function Documentation

◆ getAttr() [1/2]

virtual OdRxValue OdIfc2x_final::IfcTask::getAttr ( const char * attrName) const
overridevirtual

Returns an attribute value for the specified attribute name.

Parameters
attrName[in] Name of an attribute to query.
Returns
OdRxValue object that represents a generic variant type value.

Reimplemented from OdIfc2x_final::IfcProcess.

Reimplemented in OdIfc2x_final::IfcMove.

◆ getAttr() [2/2]

virtual OdRxValue OdIfc2x_final::IfcTask::getAttr ( const OdIfc::OdIfcAttribute attrDef) const
overridevirtual

Returns an attribute value for the specified attribute definition.

Parameters
attrDef[in] Attribute definition to query.
Returns
OdRxValue object that represents a generic variant type value.

Reimplemented from OdIfc2x_final::IfcProcess.

Reimplemented in OdIfc2x_final::IfcMove.

◆ getBudgetQuantity()

const OdDAIObjectId & OdIfc2x_final::IfcTask::getBudgetQuantity ( ) const

◆ getEstimatedQuantity()

const OdDAIObjectId & OdIfc2x_final::IfcTask::getEstimatedQuantity ( ) const

◆ getInPlaceQuantity()

const OdDAIObjectId & OdIfc2x_final::IfcTask::getInPlaceQuantity ( ) const

◆ getInstanceType()

virtual OdDAI::Entity * OdIfc2x_final::IfcTask::getInstanceType ( ) const
overridevirtual

Returns a type of a class instance.

Returns
Pointer to the <exref target=https://docs.opendesign.com/tkernel_api_cpp/OdDAI__Entity.html>>OdDAI::Entity</exref> type that determines an entity definition within a schema.

Reimplemented from OdIfc2x_final::IfcProcess.

Reimplemented in OdIfc2x_final::IfcMove.

◆ getIsRootTask()

OdDAI::Boolean OdIfc2x_final::IfcTask::getIsRootTask ( ) const

◆ getMilestones()

void OdIfc2x_final::IfcTask::getMilestones ( OdArray< OdDAI::Enum > & Milestones) const

◆ getStatus()

IfcTaskStatusEnum OdIfc2x_final::IfcTask::getStatus ( ) const

Returns the value of Status attribute. This attribute represents current status of the task.

Returns
Returns the value of Status attribute.
Remarks
Particular values for status are not specified, these should be determined and agreed by local usage. Examples of possible status values include 'Not Yet Started', 'Started', 'Completed'.

◆ getTaskId()

const OdAnsiString & OdIfc2x_final::IfcTask::getTaskId ( ) const

Returns the value of TaskId attribute. This attribute represents an identifying designation given to a task.

Returns
Returns the value of TaskId attribute.

◆ getWBSCode()

void OdIfc2x_final::IfcTask::getWBSCode ( OdArray< OdAnsiString > & WBSCode) const

◆ getWBSSource()

void OdIfc2x_final::IfcTask::getWBSSource ( OdArray< OdAnsiString > & WBSSource) const

◆ getWorkMethod()

const OdAnsiString & OdIfc2x_final::IfcTask::getWorkMethod ( ) const

Returns the value of WorkMethod attribute. This attribute represents the method of work used in carrying out a task.

Returns
Returns the value of WorkMethod attribute.
Remarks
This attribute should not be used if the work method is specified for the IfcTaskType.

◆ inFields()

virtual OdResult OdIfc2x_final::IfcTask::inFields ( OdDAI::OdSpfFilerBase * rdFiler)
overridevirtual

Reads object's data from the specified filer.

Parameters
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.

Reimplemented from OdIfc2x_final::IfcProcess.

Reimplemented in OdIfc2x_final::IfcMove.

◆ isKindOf()

virtual bool OdIfc2x_final::IfcTask::isKindOf ( OdIfc::OdIfcEntityType entityType) const
overridevirtual

Checks whether the specified instance is the object derived from or belongs to this class.

Parameters
entityType[in] Entity to check.
Returns
true if the specified instance is the object derived from or belongs to this class, false otherwise.

Reimplemented from OdIfc2x_final::IfcProcess.

Reimplemented in OdIfc2x_final::IfcMove.

◆ milestones()

OdDAI::SetOfEnum & OdIfc2x_final::IfcTask::milestones ( )

◆ outFields()

virtual OdResult OdIfc2x_final::IfcTask::outFields ( OdDAI::OdSpfFilerBase * wrFiler)
overridevirtual

Writes object's data the the specified filer.

Parameters
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.

Reimplemented from OdIfc2x_final::IfcProcess.

Reimplemented in OdIfc2x_final::IfcMove.

◆ putAttr() [1/2]

virtual bool OdIfc2x_final::IfcTask::putAttr ( const char * explicitAttrName,
const OdRxValue & val )
overridevirtual

Sets the specified attribute with a given value.

Parameters
explicitAttrName[in] Explicit name of the attribute to set.
val[in] Value to set.
Returns
true if the value is successfully set for the specified attribute, false otherwise.

Reimplemented from OdIfc2x_final::IfcProcess.

Reimplemented in OdIfc2x_final::IfcMove.

◆ putAttr() [2/2]

virtual bool OdIfc2x_final::IfcTask::putAttr ( const OdIfc::OdIfcAttribute explicitAttrDef,
const OdRxValue & val )
overridevirtual

Sets the specified attribute with a given value.

Parameters
explicitAttrDef[in] Explicit attribute definition to set.
val[in] Value to set.
Returns
true if the value is successfully set for the specified attribute, false otherwise.

Reimplemented from OdIfc2x_final::IfcProcess.

Reimplemented in OdIfc2x_final::IfcMove.

◆ setBudgetQuantity()

void OdIfc2x_final::IfcTask::setBudgetQuantity ( const OdDAIObjectId & BudgetQuantity)

◆ setEstimatedQuantity()

void OdIfc2x_final::IfcTask::setEstimatedQuantity ( const OdDAIObjectId & EstimatedQuantity)

◆ setInPlaceQuantity()

void OdIfc2x_final::IfcTask::setInPlaceQuantity ( const OdDAIObjectId & InPlaceQuantity)

◆ setIsRootTask()

void OdIfc2x_final::IfcTask::setIsRootTask ( OdDAI::Boolean IsRootTask)

◆ setStatus()

void OdIfc2x_final::IfcTask::setStatus ( IfcTaskStatusEnum Status)

Sets the value of Status attribute. This attribute represents current status of the task.

Parameters
Status[in] Status to set.
Remarks
Particular values for status are not specified, these should be determined and agreed by local usage. Examples of possible status values include 'Not Yet Started', 'Started', 'Completed'.

◆ setTaskId()

void OdIfc2x_final::IfcTask::setTaskId ( const OdAnsiString & TaskId)

Sets the value of TaskId attribute. This attribute represents an identifying designation given to a task.

Parameters
TaskId[in] Task identifier to set.

◆ setWorkMethod()

void OdIfc2x_final::IfcTask::setWorkMethod ( const OdAnsiString & WorkMethod)

Sets the value of WorkMethod attribute. This attribute represents the method of work used in carrying out a task.

Parameters
WorkMethod[in] Work method to set.
Remarks
This attribute should not be used if the work method is specified for the IfcTaskType.

◆ testAttr() [1/2]

virtual bool OdIfc2x_final::IfcTask::testAttr ( const char * explicitAttrName) const
overridevirtual

Checks whether the specified attribute is set.

Parameters
explicitAttrName[in] Explicit name of the attribute to test.
Returns
true if the specified attribute is set, false otherwise.

Reimplemented from OdIfc2x_final::IfcProcess.

Reimplemented in OdIfc2x_final::IfcMove.

◆ testAttr() [2/2]

virtual bool OdIfc2x_final::IfcTask::testAttr ( const OdIfc::OdIfcAttribute explicitAttrDef) const
overridevirtual

Checks whether the specified attribute is set.

Parameters
explicitAttrDef[in] Attribute definition to test.
Returns
true if the specified attribute is set, false otherwise.

Reimplemented from OdIfc2x_final::IfcProcess.

Reimplemented in OdIfc2x_final::IfcMove.

◆ type()

virtual OdIfc::OdIfcEntityType OdIfc2x_final::IfcTask::type ( ) const
overridevirtual

Returns the type of this entity.

Returns
A value of the <exref target=https://docs.opendesign.com/tkernel_api_cpp/OdIfc__OdIfcEntityType.html>>OdIfc::OdIfcEntityType</exref> type that represents type of this entity.

Reimplemented from OdIfc2x_final::IfcProcess.

Reimplemented in OdIfc2x_final::IfcMove.

◆ unsetAttr() [1/2]

virtual void OdIfc2x_final::IfcTask::unsetAttr ( const char * explicitAttrName)
overridevirtual

Resets a value for the specified attribute.

Parameters
explicitAttrName[in] Explicit name of the attribute to reset.

Reimplemented from OdIfc2x_final::IfcProcess.

Reimplemented in OdIfc2x_final::IfcMove.

◆ unsetAttr() [2/2]

virtual void OdIfc2x_final::IfcTask::unsetAttr ( const OdIfc::OdIfcAttribute explicitAttrDef)
overridevirtual

Resets a value for the specified attribute.

Parameters
explicitAttrDef[in] Explicit definition that represents an attribute to reset.

Reimplemented from OdIfc2x_final::IfcProcess.

Reimplemented in OdIfc2x_final::IfcMove.

◆ wBSCode()

OdDAI::ListOfOdAnsiString & OdIfc2x_final::IfcTask::wBSCode ( )

◆ wBSSource()

OdDAI::ListOfOdAnsiString & OdIfc2x_final::IfcTask::wBSSource ( )

Member Data Documentation

◆ m_BudgetQuantity

OdDAIObjectId OdIfc2x_final::IfcTask::m_BudgetQuantity
protected

Definition at line 327 of file Ifc2x_Final/IfcTaskAutoImpl.h.

◆ m_EstimatedQuantity

OdDAIObjectId OdIfc2x_final::IfcTask::m_EstimatedQuantity
protected

Definition at line 326 of file Ifc2x_Final/IfcTaskAutoImpl.h.

◆ m_InPlaceQuantity

OdDAIObjectId OdIfc2x_final::IfcTask::m_InPlaceQuantity
protected

Definition at line 325 of file Ifc2x_Final/IfcTaskAutoImpl.h.

◆ m_IsRootTask

OdDAI::Boolean OdIfc2x_final::IfcTask::m_IsRootTask
protected

Definition at line 328 of file Ifc2x_Final/IfcTaskAutoImpl.h.

◆ m_Milestones

OdDAI::SetOfEnum OdIfc2x_final::IfcTask::m_Milestones
protected

Definition at line 322 of file Ifc2x_Final/IfcTaskAutoImpl.h.

◆ m_Status

OdDAI::Enum OdIfc2x_final::IfcTask::m_Status
protected

Definition at line 321 of file Ifc2x_Final/IfcTaskAutoImpl.h.

◆ m_TaskId

OdAnsiString OdIfc2x_final::IfcTask::m_TaskId
protected

Definition at line 316 of file Ifc2x_Final/IfcTaskAutoImpl.h.

◆ m_WBSCode

OdDAI::ListOfOdAnsiString OdIfc2x_final::IfcTask::m_WBSCode
protected

Definition at line 317 of file Ifc2x_Final/IfcTaskAutoImpl.h.

◆ m_WBSSource

OdDAI::ListOfOdAnsiString OdIfc2x_final::IfcTask::m_WBSSource
protected

Definition at line 319 of file Ifc2x_Final/IfcTaskAutoImpl.h.

◆ m_WorkMethod

OdAnsiString OdIfc2x_final::IfcTask::m_WorkMethod
protected

Definition at line 324 of file Ifc2x_Final/IfcTaskAutoImpl.h.


The documentation for this class was generated from the following file: