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

#include <IfcTaskAutoImpl.h>

Inheritance diagram for OdIfc2x2_final::IfcTask:
OdIfc2x2_final::IfcProcess OdIfc2x2_final::IfcObject OdIfc2x2_final::IfcRoot OdIfc2x2_final::OdIfc2x2_FinalInstance OdIfc::OdIfcInstance OdIfc2x2_final::IfcMove OdIfc2x2_final::IfcOrderAction

Public Member Functions

const OdAnsiString & getTaskId () const
 
void setTaskId (const OdAnsiString &TaskId)
 
const OdAnsiString & getStatus () const
 
void setStatus (const OdAnsiString &Status)
 
const OdAnsiString & getWorkMethod () const
 
void setWorkMethod (const OdAnsiString &WorkMethod)
 
OdDAI::Boolean getIsMilestone () const
 
void setIsMilestone (OdDAI::Boolean IsMilestone)
 
int getPriority () const
 
void setPriority (int Priority)
 
 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 OdIfc2x2_final::IfcProcess
void getInvOperatesOn (OdDAIObjectIds &OperatesOn) const
 
void getInvIsSuccessorFrom (OdDAIObjectIds &IsSuccessorFrom) const
 
void getInvIsPredecessorTo (OdDAIObjectIds &IsPredecessorTo) const
 
- Public Member Functions inherited from OdIfc2x2_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 OdIfc2x2_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
 
OdAnsiString m_Status
 
OdAnsiString m_WorkMethod
 
OdDAI::Boolean m_IsMilestone
 
int m_Priority
 
- Protected Attributes inherited from OdIfc2x2_final::IfcObject
OdAnsiString m_ObjectType
 
- Protected Attributes inherited from OdIfc2x2_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 122 of file Ifc2x2_Final/IfcTaskAutoImpl.h.

Constructor & Destructor Documentation

◆ IfcTask()

OdIfc2x2_final::IfcTask::IfcTask ( )

Default constructor for the IfcTask class.

Member Function Documentation

◆ getAttr() [1/2]

virtual OdRxValue OdIfc2x2_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 OdIfc2x2_final::IfcProcess.

Reimplemented in OdIfc2x2_final::IfcMove, and OdIfc2x2_final::IfcOrderAction.

◆ getAttr() [2/2]

virtual OdRxValue OdIfc2x2_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 OdIfc2x2_final::IfcProcess.

Reimplemented in OdIfc2x2_final::IfcMove, and OdIfc2x2_final::IfcOrderAction.

◆ getInstanceType()

virtual OdDAI::Entity * OdIfc2x2_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 OdIfc2x2_final::IfcProcess.

Reimplemented in OdIfc2x2_final::IfcMove, and OdIfc2x2_final::IfcOrderAction.

◆ getIsMilestone()

OdDAI::Boolean OdIfc2x2_final::IfcTask::getIsMilestone ( ) const

Returns the value of IsMilestone attribute. This attribute represents whether a task is a milestone task (=TRUE) or not(= FALSE).

Returns
Returns the value of IsMilestone attribute.
Remarks
In small project planning applications, a milestone task can be understood to be a task having no duration. As such, it represents a singular point in time.

◆ getPriority()

int OdIfc2x2_final::IfcTask::getPriority ( ) const

Returns the value of Priority attribute. This attribute represents a value that indicates the relative priority of the task (in comparison to the priorities of other tasks).

Returns
Returns the value of Priority attribute.

◆ getStatus()

const OdAnsiString & OdIfc2x2_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 & OdIfc2x2_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.

◆ getWorkMethod()

const OdAnsiString & OdIfc2x2_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 OdIfc2x2_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 OdIfc2x2_final::IfcProcess.

Reimplemented in OdIfc2x2_final::IfcMove, and OdIfc2x2_final::IfcOrderAction.

◆ isKindOf()

virtual bool OdIfc2x2_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 OdIfc2x2_final::IfcProcess.

Reimplemented in OdIfc2x2_final::IfcMove, and OdIfc2x2_final::IfcOrderAction.

◆ outFields()

virtual OdResult OdIfc2x2_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 OdIfc2x2_final::IfcProcess.

Reimplemented in OdIfc2x2_final::IfcMove, and OdIfc2x2_final::IfcOrderAction.

◆ putAttr() [1/2]

virtual bool OdIfc2x2_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 OdIfc2x2_final::IfcProcess.

Reimplemented in OdIfc2x2_final::IfcMove, and OdIfc2x2_final::IfcOrderAction.

◆ putAttr() [2/2]

virtual bool OdIfc2x2_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 OdIfc2x2_final::IfcProcess.

Reimplemented in OdIfc2x2_final::IfcMove, and OdIfc2x2_final::IfcOrderAction.

◆ setIsMilestone()

void OdIfc2x2_final::IfcTask::setIsMilestone ( OdDAI::Boolean IsMilestone)

Sets the value of IsMilestone attribute. This attribute represents whether a task is a milestone task (=TRUE) or not(= FALSE).

Parameters
IsMilestone[in] IsMilestone attribute to set.
Remarks
In small project planning applications, a milestone task can be understood to be a task having no duration. As such, it represents a singular point in time.

◆ setPriority()

void OdIfc2x2_final::IfcTask::setPriority ( int Priority)

Sets the value of Priority attribute. This attribute represents a value that indicates the relative priority of the task (in comparison to the priorities of other tasks).

Parameters
Priority[in] Priority to set.

◆ setStatus()

void OdIfc2x2_final::IfcTask::setStatus ( const OdAnsiString & 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 OdIfc2x2_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 OdIfc2x2_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 OdIfc2x2_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 OdIfc2x2_final::IfcProcess.

Reimplemented in OdIfc2x2_final::IfcMove, and OdIfc2x2_final::IfcOrderAction.

◆ testAttr() [2/2]

virtual bool OdIfc2x2_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 OdIfc2x2_final::IfcProcess.

Reimplemented in OdIfc2x2_final::IfcMove, and OdIfc2x2_final::IfcOrderAction.

◆ type()

virtual OdIfc::OdIfcEntityType OdIfc2x2_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 OdIfc2x2_final::IfcProcess.

Reimplemented in OdIfc2x2_final::IfcMove, and OdIfc2x2_final::IfcOrderAction.

◆ unsetAttr() [1/2]

virtual void OdIfc2x2_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 OdIfc2x2_final::IfcProcess.

Reimplemented in OdIfc2x2_final::IfcMove, and OdIfc2x2_final::IfcOrderAction.

◆ unsetAttr() [2/2]

virtual void OdIfc2x2_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 OdIfc2x2_final::IfcProcess.

Reimplemented in OdIfc2x2_final::IfcMove, and OdIfc2x2_final::IfcOrderAction.

Member Data Documentation

◆ m_IsMilestone

OdDAI::Boolean OdIfc2x2_final::IfcTask::m_IsMilestone
protected

Definition at line 338 of file Ifc2x2_Final/IfcTaskAutoImpl.h.

◆ m_Priority

int OdIfc2x2_final::IfcTask::m_Priority
protected

Definition at line 339 of file Ifc2x2_Final/IfcTaskAutoImpl.h.

◆ m_Status

OdAnsiString OdIfc2x2_final::IfcTask::m_Status
protected

Definition at line 336 of file Ifc2x2_Final/IfcTaskAutoImpl.h.

◆ m_TaskId

OdAnsiString OdIfc2x2_final::IfcTask::m_TaskId
protected

Definition at line 335 of file Ifc2x2_Final/IfcTaskAutoImpl.h.

◆ m_WorkMethod

OdAnsiString OdIfc2x2_final::IfcTask::m_WorkMethod
protected

Definition at line 337 of file Ifc2x2_Final/IfcTaskAutoImpl.h.


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