/////////////////////////////////////////////////////////////////////////////// // 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_IFCTRANSITIONCURVESEGMENT2D_AUTO_IMPL_H #define _IFC4X1_IFCTRANSITIONCURVESEGMENT2D_AUTO_IMPL_H #include "IfcCurveSegment2DAutoImpl.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 An IfcTransitionCurveSegment2D is a curve that transitions between a straight line and a circular arc (or the reverse). */ class IFC4X1_EXPORT IfcTransitionCurveSegment2D : public IfcCurveSegment2D { //DOM-IGNORE-BEGIN OD_EXP_DECLARE_MEMBERS(OdIfc4x1::IfcTransitionCurveSegment2D); //DOM-IGNORE-END public: // // OdDAI early binding accessors // /** \details Returns the value of StartRadius attribute. This attribute represents the radius of the curve at the start point. If the radius is not provided by a value, (i.e. being “NIL”) it is interpreted as INFINITE – the StartPoint is at the point, where it does not have a curvature. \returns Returns the value of StartRadius attribute. */ double getStartRadius() const; /** \details Sets the value of StartRadius attribute. This attribute represents the radius of the curve at the start point. If the radius is not provided by a value, (i.e. being “NIL”) it is interpreted as INFINITE – the StartPoint is at the point, where it does not have a curvature. \param StartRadius [in] StartRadius attribute to set. */ void setStartRadius(double StartRadius); /** \details Returns the value of EndRadius attribute. This attribute represents the radius of the curve at the end point. If the radius is not provided by a value, (i.e. being “NIL”) it is interpreted as INFINITE – the end point is at the point, where it does not have a curvature. \returns Returns the value of EndRadius attribute. */ double getEndRadius() const; /** \details Sets the value of EndRadius attribute. This attribute represents the radius of the curve at the end point. If the radius is not provided by a value, (i.e. being “NIL”) it is interpreted as INFINITE – the end point is at the point, where it does not have a curvature. \param EndRadius [in] EndRadius attribute to set. */ void setEndRadius(double EndRadius); /** \details Returns the value of IsStartRadiusCCW attribute. This attribute indicates whether the curve starts counter-clockwise or clockwise. The orientation of the curve is IsCcw=”true”, if the spiral arc goes counter-clockwise as seen from the start point and start direction, or “to the left", and with IsCcw=”false” if the spiral arc goes clockwise, or “to the right”. \returns Returns the value of IsStartRadiusCCW attribute. */ OdDAI::Boolean getIsStartRadiusCCW() const; /** \details Sets the value of IsStartRadiusCCW attribute. This attribute indicates whether the curve starts counter-clockwise or clockwise. The orientation of the curve is IsCcw=”true”, if the spiral arc goes counter-clockwise as seen from the start point and start direction, or “to the left", and with IsCcw=”false” if the spiral arc goes clockwise, or “to the right”. \param IsStartRadiusCCW [in] IsStartRadiusCCW attribute to set. */ void setIsStartRadiusCCW(OdDAI::Boolean IsStartRadiusCCW); /** \details Returns the value of IsEndRadiusCCW attribute. This attribute represents indicates whether of the curve ends counter-clockwise or clockwise. The orientation of the clothoidal arc is IsCcw=”true”, if the spiral arc goes counter-clockwise as seen towards the end point and end direction, or “to the left", and with IsCcw=”false” if the spiral arc goes clockwise, or “to the right”. \returns Returns the value of IsEndRadiusCCW attribute. */ OdDAI::Boolean getIsEndRadiusCCW() const; /** \details Sets the value of IsEndRadiusCCW attribute. This attribute represents indicates whether of the curve ends counter-clockwise or clockwise. The orientation of the clothoidal arc is IsCcw=”true”, if the spiral arc goes counter-clockwise as seen towards the end point and end direction, or “to the left", and with IsCcw=”false” if the spiral arc goes clockwise, or “to the right”. \param IsEndRadiusCCW [in] IsEndRadiusCCW attribute to set. */ void setIsEndRadiusCCW(OdDAI::Boolean IsEndRadiusCCW); /** \details Returns the value of TransitionCurveType attribute. This attribute represents the specific type of transition curve. \returns Returns the value of TransitionCurveType attribute. */ IfcTransitionCurveType getTransitionCurveType() const; /** \details Sets the value of TransitionCurveType attribute. This attribute represents the specific type of transition curve. \param TransitionCurveType [in] TransitionCurveType attribute to set. */ void setTransitionCurveType(IfcTransitionCurveType TransitionCurveType); public: /** \details Default constructor for the IfcTransitionCurveSegment2D class. */ IfcTransitionCurveSegment2D(); /** \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: IfcPositiveLengthMeasure m_StartRadius; // IfcPositiveLengthMeasure [optional] IfcPositiveLengthMeasure m_EndRadius; // IfcPositiveLengthMeasure [optional] OdDAI::Boolean m_IsStartRadiusCCW; // IfcBoolean OdDAI::Boolean m_IsEndRadiusCCW; // IfcBoolean OdDAI::Enum m_TransitionCurveType; // IfcTransitionCurveType }; /** \details A data type that represents a smart pointer to a IfcTransitionCurveSegment2D object. */ typedef OdSmartPtr IfcTransitionCurveSegment2DPtr; } // namespace #include "TD_PackPop.h" #endif // _IFC4X1_IFCTRANSITIONCURVESEGMENT2D_AUTO_IMPL_H