///////////////////////////////////////////////////////////////////////////////
// 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 _IFC4X4_IFCREINFORCEMENTBARPROPERTIES_AUTO_IMPL_H
#define _IFC4X4_IFCREINFORCEMENTBARPROPERTIES_AUTO_IMPL_H
#include "IfcPreDefinedPropertiesAutoImpl.h"
#include "TD_PackPush.h"
/** \details
The namespace contains schema-dependent classes, definitions and sub routines
for work with IFC4X4 express schema definitions.
*/
namespace OdIfc4x4 {
/** \details
IfcReinforcementProperties defines the set of properties for a specific combination of reinforcement bar steel grade, bar type and effective depth.
The total cross section area for the specific steel grade is always provided.
Additionally, general reinforcing bar configurations as a count of bars can be provided as defined in attribute BarCount.
In this case the nominal bar diameter should be identical for all bars as defined in attribute NominalBarDiameter.
*/
class IFC4X4_EXPORT IfcReinforcementBarProperties : public IfcPreDefinedProperties
{
//DOM-IGNORE-BEGIN
OD_EXP_DECLARE_MEMBERS(OdIfc4x4::IfcReinforcementBarProperties);
//DOM-IGNORE-END
public:
//
// OdDAI early binding accessors
//
/** \details
Returns the value of TotalCrossSectionArea attribute.
This attribute represents the total effective cross-section area of the reinforcement of a specific steel grade.
\returns
Returns the value of TotalCrossSectionArea attribute.
*/
double getTotalCrossSectionArea() const;
/** \details
Sets the value of TotalCrossSectionArea attribute.
This attribute represents the total effective cross-section area of the reinforcement of a specific steel grade.
\param TotalCrossSectionArea [in] Total cross-section area to set.
*/
void setTotalCrossSectionArea(double TotalCrossSectionArea);
/** \details
Returns the value of SteelGrade attribute.
This attribute represents the nominal steel grade defined according to local standards.
\returns
Returns the value of SteelGrade attribute.
*/
const OdAnsiString& getSteelGrade() const;
/** \details
Sets the value of SteelGrade attribute.
This attribute represents the nominal steel grade defined according to local standards.
\param SteelGrade [in] Steel grade to set.
*/
void setSteelGrade(const OdAnsiString& SteelGrade);
/** \details
Returns the value of BarSurface attribute.
This attribute indicates whether the bar surface is plain or textured.
\returns
Returns the value of BarSurface attribute.
*/
IfcReinforcingBarSurfaceEnum getBarSurface() const;
/** \details
Sets the value of BarSurface attribute.
This attribute indicates whether the bar surface is plain or textured.
\param BarSurface [in] Bar surface to set.
*/
void setBarSurface(IfcReinforcingBarSurfaceEnum BarSurface);
/** \details
Returns the value of EffectiveDepth attribute.
This attribute represents the effective depth, i.e. the distance of the specific reinforcement
cross-section area or reinforcement configuration in a row, counted from a common specific reference point.
Usually, the reference point is the upper surface (for beams and slabs) or a similar projection in a plane (for columns).
\returns
Returns the value of EffectiveDepth attribute.
*/
double getEffectiveDepth() const;
/** \details
Sets the value of EffectiveDepth attribute.
This attribute represents the effective depth, i.e. the distance of the specific reinforcement
cross-section area or reinforcement configuration in a row, counted from a common specific reference point.
Usually, the reference point is the upper surface (for beams and slabs) or a similar projection in a plane (for columns).
\param EffectiveDepth [in] Effective depth to set.
*/
void setEffectiveDepth(double EffectiveDepth);
/** \details
Returns the value of NominalBarDiameter attribute.
This attribute represents the cross-section size of the reinforcing bar.
The bar diameter should be identical for all bars included in the specific reinforcement configuration.
\returns
Returns the value of NominalBarDiameter attribute.
*/
double getNominalBarDiameter() const;
/** \details
Sets the value of NominalBarDiameter attribute.
This attribute represents the cross-section size of the reinforcing bar.
The bar diameter should be identical for all bars included in the specific reinforcement configuration.
\param NominalBarDiameter [in] Nominal bar diameter to set.
*/
void setNominalBarDiameter(double NominalBarDiameter);
/** \details
Returns the value of BarCount attribute.
This attribute represents the number of bars with identical nominal diameter
and steel grade included in the specific reinforcement configuration.
\returns
Returns the value of BarCount attribute.
*/
int getBarCount() const;
/** \details
Sets the value of BarCount attribute.
This attribute represents the number of bars with identical nominal diameter
and steel grade included in the specific reinforcement configuration.
\param BarCount [in] Bar count to set.
*/
void setBarCount(int BarCount);
public:
/** \details
Default constructor for the IfcReinforcementBarProperties class.
*/
IfcReinforcementBarProperties();
/** \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