CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
OdIfc4x4::IfcAlignmentVerticalSegment Class Reference

#include <IfcAlignmentVerticalSegmentAutoImpl.h>

Inheritance diagram for OdIfc4x4::IfcAlignmentVerticalSegment:
OdIfc4x4::IfcAlignmentParameterSegment OdIfc4x4::OdIFC4X4Instance OdIfc::OdIfcInstance

Public Member Functions

double getStartDistAlong () const
 
void setStartDistAlong (double StartDistAlong)
 
double getHorizontalLength () const
 
void setHorizontalLength (double HorizontalLength)
 
double getStartHeight () const
 
void setStartHeight (double StartHeight)
 
double getStartGradient () const
 
void setStartGradient (double StartGradient)
 
double getEndGradient () const
 
void setEndGradient (double EndGradient)
 
double getRadiusOfCurvature () const
 
void setRadiusOfCurvature (double RadiusOfCurvature)
 
IfcAlignmentVerticalSegmentTypeEnum getPredefinedType () const
 
void setPredefinedType (IfcAlignmentVerticalSegmentTypeEnum PredefinedType)
 
 IfcAlignmentVerticalSegment ()
 
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 bool comparedToEarlyImpl (const OdDAI::ApplicationInstance *pOther, OdRx::Ordering &ordering) 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 OdIfc4x4::IfcAlignmentParameterSegment
const OdAnsiString & getStartTag () const
 
void setStartTag (const OdAnsiString &StartTag)
 
const OdAnsiString & getEndTag () const
 
void setEndTag (const OdAnsiString &EndTag)
 
 IfcAlignmentParameterSegment ()
 
- Public Member Functions inherited from OdIfc4x4::OdIFC4X4Instance
void setInverseCounterParts () override
 
- 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

double m_StartDistAlong
 
IfcNonNegativeLengthMeasure m_HorizontalLength
 
double m_StartHeight
 
double m_StartGradient
 
double m_EndGradient
 
double m_RadiusOfCurvature
 
OdDAI::Enum m_PredefinedType
 
- Protected Attributes inherited from OdIfc4x4::IfcAlignmentParameterSegment
OdAnsiString m_StartTag
 
OdAnsiString m_EndTag
 
- 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

Individual segment along the IfcAlignmentVertical is defined in the distance-along/z coordinate space. The vertical alignment is defined by segments that connects end-to-start. The vertical alignment curve geometry is defined in a plane with x = distance along horizontal, the y = height (or elevation). The transition at the segment connection is not enforced to be tangential, The IfcSegment Transition enumeration specifies the type of transition explicitly. The following vertical segment types are defined in the : Line segment - IfcAlignmentVerticalSegmentTypeEnum.CONSTANTGRADIENT. Circular arc segment - IfcAlignmentVerticalSegmentTypeEnum.CIRCULARARC. Parabolic arc segment - IfcAlignmentVerticalSegmentTypeEnum.PARABOLICARC. Transition segment with linear curvature variation - IfcAlignmentVerticalSegmentTypeEnum.CLOTHOID. For each vertical segment, the following non-redundant information is provided: The start point. The start gradient (as a ratio measure with horizontal being 0, uphill positive, and downhill negative), usually between -1 < n < 1. The length (as horizontal length along the distance along (not the curve segment length)). The curve parameter needed for circular and parabolic arc segments. The following information can be calculated (and is therefore not exchanged explicitly to avoid redundancy and inconsistencies). The end distance along (from the distance along and segment length). The end height (from start distance along, gradient, length and curve parameter). The end direction (from start direction, segment length and curve parameter). The point of vertical intersection (from start direction and end direction).

Definition at line 58 of file IFC4X4/IfcAlignmentVerticalSegmentAutoImpl.h.

Constructor & Destructor Documentation

◆ IfcAlignmentVerticalSegment()

OdIfc4x4::IfcAlignmentVerticalSegment::IfcAlignmentVerticalSegment ( )

Default constructor for the IfcAlignmentVerticalSegment class.

Member Function Documentation

◆ comparedToEarlyImpl()

virtual bool OdIfc4x4::IfcAlignmentVerticalSegment::comparedToEarlyImpl ( const OdDAI::ApplicationInstance * pOther,
OdRx::Ordering & ordering ) const
overridevirtual

Early-bound version of instances comparison.

Parameters
pOther[in] Other application instance.
ordering[out] Receives the ordering (comparison) status.
Returns
true if comparison was performed, false if method has no implementation, so late-bound version could be applied.
Remarks
If the method returns true, the ordering parameter can receive one of the following statuses:
Value Description kLessThan -1 This object < Other Object. kEqual 0 This object = Other Object. kGreaterThan 1 This object > Other Object. kNotOrderable 2 This class is not orderable.

Reimplemented from OdIfc4x4::IfcAlignmentParameterSegment.

◆ getAttr() [1/2]

virtual OdRxValue OdIfc4x4::IfcAlignmentVerticalSegment::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 OdIfc4x4::IfcAlignmentParameterSegment.

◆ getAttr() [2/2]

virtual OdRxValue OdIfc4x4::IfcAlignmentVerticalSegment::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 OdIfc4x4::IfcAlignmentParameterSegment.

◆ getEndGradient()

double OdIfc4x4::IfcAlignmentVerticalSegment::getEndGradient ( ) const

Returns the value of EndGradient attribute. End gradient is end gradient ratio of the segment. Normally, this value should be in range [-1 .. 1], however values that exceed this range are accepted.

Returns
Returns the value of EndGradient attribute.
Remarks
If PredefinedType='.CONSTANTGRADIENT.' then this value is the same as StartGradient.

◆ getHorizontalLength()

double OdIfc4x4::IfcAlignmentVerticalSegment::getHorizontalLength ( ) const

Returns the value of HorizontalLength attribute. Horizontal length is length measured as distance along the horizontal alignment of the segment.

Returns
Returns the value of HorizontalLength attribute.

◆ getInstanceType()

virtual OdDAI::Entity * OdIfc4x4::IfcAlignmentVerticalSegment::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 OdIfc4x4::IfcAlignmentParameterSegment.

◆ getPredefinedType()

IfcAlignmentVerticalSegmentTypeEnum OdIfc4x4::IfcAlignmentVerticalSegment::getPredefinedType ( ) const

Returns the value of PredefinedType attribute. Predefined type indicates the predefined type of a vertical alignment segment.

Returns
Returns the value of PredefinedType attribute that can be one of the following:
Enumeration Value Segment type Vertical curvature CONSTANTGRADIENT Constant gradient No vertical curvature PARABOLICARC Vertical curve, parabola Derivative of gradient with respect to horizontal projection of alignment is constant CIRCULARARC Vertical curve, circular Derivative of vertical angle with respect to 3D arc length along the alignment is constant CLOTHOID Vertical curve, clothoid Variation of vertical curvature is constant

◆ getRadiusOfCurvature()

double OdIfc4x4::IfcAlignmentVerticalSegment::getRadiusOfCurvature ( ) const

Returns the value of RadiusOfCurvature attribute. Radius of curvature is radius of parabola or arc. Positive values imply a CCW direction whereas negative CW.

Returns
Returns the value of RadiusOfCurvature attribute.
Remarks
For PredefinedType is ARC: the radius of the basis circle for the arc. For PredefinedType is PARABOLICARC: the parabola constant (determining the “steepness” of the parabola) is provided by the “minimum parabola radius”, the true radius of a parabola is at its vertical axis (the zero-gradient point of the parabola). The minimum radius is twice the focal length of the parabola (the distance between the focal point and the vertex). For PredefinedType that is not either ARC or PARABOLICARC: the value should be empty.

◆ getStartDistAlong()

double OdIfc4x4::IfcAlignmentVerticalSegment::getStartDistAlong ( ) const

Returns the value of StartDistAlong attribute. StartDistAlong is distance along the horizontal alignment as measured along the corresponding IfcAlignmentHorizontal. The distance along is measured from the start point of IfcAlignmentHorizontal.

Returns
Returns the value of StartDistAlong attribute.

◆ getStartGradient()

double OdIfc4x4::IfcAlignmentVerticalSegment::getStartGradient ( ) const

Returns the value of StartGradient attribute. Start gradient is start gradient ratio of the segment. Normally, this value should be in range [-1 .. 1], however values that exceed this range are accepted.

Returns
Returns the value of StartGradient attribute.

◆ getStartHeight()

double OdIfc4x4::IfcAlignmentVerticalSegment::getStartHeight ( ) const

Returns the value of StartHeight attribute. Start height is elevation in Z of the start point relative to the IfcAlignment coordinate system.

Returns
Returns the value of StartHeight attribute.

◆ inFields()

virtual OdResult OdIfc4x4::IfcAlignmentVerticalSegment::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 OdIfc4x4::IfcAlignmentParameterSegment.

◆ isKindOf()

virtual bool OdIfc4x4::IfcAlignmentVerticalSegment::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 OdIfc4x4::IfcAlignmentParameterSegment.

◆ outFields()

virtual OdResult OdIfc4x4::IfcAlignmentVerticalSegment::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 OdIfc4x4::IfcAlignmentParameterSegment.

◆ putAttr() [1/2]

virtual bool OdIfc4x4::IfcAlignmentVerticalSegment::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 OdIfc4x4::IfcAlignmentParameterSegment.

◆ putAttr() [2/2]

virtual bool OdIfc4x4::IfcAlignmentVerticalSegment::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 OdIfc4x4::IfcAlignmentParameterSegment.

◆ setEndGradient()

void OdIfc4x4::IfcAlignmentVerticalSegment::setEndGradient ( double EndGradient)

Sets the value of EndGradient attribute. End gradient is end gradient ratio of the segment. Normally, this value should be in range [-1 .. 1], however values that exceed this range are accepted.

Parameters
EndGradient[in] End gradient ratio to set.
Remarks
If PredefinedType='.CONSTANTGRADIENT.' then this value is the same as StartGradient.

◆ setHorizontalLength()

void OdIfc4x4::IfcAlignmentVerticalSegment::setHorizontalLength ( double HorizontalLength)

Sets the value of HorizontalLength attribute. Horizontal length is length measured as distance along the horizontal alignment of the segment.

Parameters
HorizontalLength[in] Horizontal length to set.

◆ setPredefinedType()

void OdIfc4x4::IfcAlignmentVerticalSegment::setPredefinedType ( IfcAlignmentVerticalSegmentTypeEnum PredefinedType)

Sets the value of PredefinedType attribute. Predefined type indicates the predefined type of a vertical alignment segment.

Parameters
PredefinedType[in] Predefined type to set.
Remarks
Possible value of this attribute:
Enumeration Value Segment type Vertical curvature CONSTANTGRADIENT Constant gradient No vertical curvature PARABOLICARC Vertical curve, parabola Derivative of gradient with respect to horizontal projection of alignment is constant CIRCULARARC Vertical curve, circular Derivative of vertical angle with respect to 3D arc length along the alignment is constant CLOTHOID Vertical curve, clothoid Variation of vertical curvature is constant

◆ setRadiusOfCurvature()

void OdIfc4x4::IfcAlignmentVerticalSegment::setRadiusOfCurvature ( double RadiusOfCurvature)

Sets the value of RadiusOfCurvature attribute. Radius of curvature is radius of parabola or arc. Positive values imply a CCW direction whereas negative CW.

Parameters
RadiusOfCurvature[in] Radius of curvature to set.
Remarks
For PredefinedType is ARC: the radius of the basis circle for the arc. For PredefinedType is PARABOLICARC: the parabola constant (determining the “steepness” of the parabola) is provided by the “minimum parabola radius”, the true radius of a parabola is at its vertical axis (the zero-gradient point of the parabola). The minimum radius is twice the focal length of the parabola (the distance between the focal point and the vertex). For PredefinedType that is not either ARC or PARABOLICARC: the value should be empty.

◆ setStartDistAlong()

void OdIfc4x4::IfcAlignmentVerticalSegment::setStartDistAlong ( double StartDistAlong)

Sets the value of StartDistAlong attribute. StartDistAlong is distance along the horizontal alignment as measured along the corresponding IfcAlignmentHorizontal. The distance along is measured from the start point of IfcAlignmentHorizontal.

Parameters
StartDistAlong[in] StartDistAlong to set.

◆ setStartGradient()

void OdIfc4x4::IfcAlignmentVerticalSegment::setStartGradient ( double StartGradient)

Sets the value of StartGradient attribute. Start gradient is start gradient ratio of the segment. Normally, this value should be in range [-1 .. 1], however values that exceed this range are accepted.

Parameters
StartGradient[in] Start gradient ratio to set.

◆ setStartHeight()

void OdIfc4x4::IfcAlignmentVerticalSegment::setStartHeight ( double StartHeight)

Sets the value of StartHeight attribute. Start height is elevation in Z of the start point relative to the IfcAlignment coordinate system.

Parameters
StartHeight[in] StartHeight to set.
Remarks
It is strongly advised to not offset the IfcAlignment coordinate system from the project engineering coordinate system.

◆ testAttr() [1/2]

virtual bool OdIfc4x4::IfcAlignmentVerticalSegment::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 OdIfc4x4::IfcAlignmentParameterSegment.

◆ testAttr() [2/2]

virtual bool OdIfc4x4::IfcAlignmentVerticalSegment::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 OdIfc4x4::IfcAlignmentParameterSegment.

◆ type()

virtual OdIfc::OdIfcEntityType OdIfc4x4::IfcAlignmentVerticalSegment::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 OdIfc4x4::IfcAlignmentParameterSegment.

◆ unsetAttr() [1/2]

virtual void OdIfc4x4::IfcAlignmentVerticalSegment::unsetAttr ( const char * explicitAttrName)
overridevirtual

Resets a value for the specified attribute.

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

Reimplemented from OdIfc4x4::IfcAlignmentParameterSegment.

◆ unsetAttr() [2/2]

virtual void OdIfc4x4::IfcAlignmentVerticalSegment::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 OdIfc4x4::IfcAlignmentParameterSegment.

Member Data Documentation

◆ m_EndGradient

double OdIfc4x4::IfcAlignmentVerticalSegment::m_EndGradient
protected

◆ m_HorizontalLength

IfcNonNegativeLengthMeasure OdIfc4x4::IfcAlignmentVerticalSegment::m_HorizontalLength
protected

◆ m_PredefinedType

OdDAI::Enum OdIfc4x4::IfcAlignmentVerticalSegment::m_PredefinedType
protected

◆ m_RadiusOfCurvature

double OdIfc4x4::IfcAlignmentVerticalSegment::m_RadiusOfCurvature
protected

◆ m_StartDistAlong

double OdIfc4x4::IfcAlignmentVerticalSegment::m_StartDistAlong
protected

◆ m_StartGradient

double OdIfc4x4::IfcAlignmentVerticalSegment::m_StartGradient
protected

◆ m_StartHeight

double OdIfc4x4::IfcAlignmentVerticalSegment::m_StartHeight
protected

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