/////////////////////////////////////////////////////////////////////////////// // 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 _IFC2X2_FINAL_IFCSURFACETEXTURE_AUTO_IMPL_H #define _IFC2X2_FINAL_IFCSURFACETEXTURE_AUTO_IMPL_H #include "Ifc2x2_FinalBaseClass.h" #include "Ifc2x2_FinalEnum.h" #include "Ifc2x2_FinalSelectTypes.h" #include "Ifc2x2_FinalCollectionTypes.h" #include "IfcCartesianTransformationOperator2DAutoImpl.h" #include "TD_PackPush.h" /** \details The namespace contains schema-dependent classes, definitions and sub routines for work with IFC2X2_FINAL express schema definitions. */ namespace OdIfc2x2_final { /** \details An IfcSurfaceTexture provides a 2-dimensional image-based texture map. It can either be given by referencing an external image file through an URL reference (IfcImageTexture), including the image file as a blob (long binary) into the data set (IfcBlobTexture), or by explicitly including an array of pixels (IfcPixelTexture). - Details - Texture are defined by 2D images that contain an array of colour values describing the texture. The texture values are interpreted differently depending on the number of components in the texture and the specifics of the image format. In general, texture can be described using one of the following forms: * Intensity textures (one-component) * Intensity plus alpha opacity textures (two-component) * Full RGB textures (three-component) * Full RGB plus alpha opacity textures (four-component) Texture maps are defined in a 2D coordinate system (s, t) that ranges from [0.0, 1.0] in both directions. The bottom edge of the image corresponds to the S-axis of the texture map, and left edge of the image corresponds to the T-axis of the texture map. The lower-left pixel of the image corresponds to s=0, t=0, and the top-right pixel of the image corresponds to s=1, t=1. Texture maps can be viewed as two dimensional colour functions that, given an (s, t) coordinate, return a colour value colour(s, t). \remarks * Image formats specify an alpha opacity, not transparency (where alpha = 1 - transparency). * This definition may not be instantiated. */ class IFC2X2_FINAL_EXPORT IfcSurfaceTexture : public OdIfc2x2_FinalInstance { //DOM-IGNORE-BEGIN OD_EXP_NON_INSTANTIABLE_DECLARE_MEMBERS(OdIfc2x2_final::IfcSurfaceTexture); //DOM-IGNORE-END public: // // OdDAI early binding accessors // /** \details Returns the value of RepeatS attribute. RepeatS is the field that specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default case), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. \returns Returns the value of RepeatS attribute. */ OdDAI::Boolean getRepeatS() const; /** \details Sets the value of RepeatS attribute. RepeatS is the field that specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. \param RepeatS [in] RepeatS attribute to set. */ void setRepeatS(OdDAI::Boolean RepeatS); /** \details Returns the value of RepeatT attribute. RepeatT is the field that specifies how the texture wraps in the T direction. If RepeatT is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the T direction so that it fills the shape. If RepeatT is FALSE, the texture coordinates are clamped in the T direction to lie within the [0.0, 1.0] range. \returns Returns the value of RepeatT attribute. */ OdDAI::Boolean getRepeatT() const; /** \details Sets the value of RepeatT attribute. RepeatT is the field that specifies how the texture wraps in the T direction. If RepeatT is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the T direction so that it fills the shape. If RepeatT is FALSE, the texture coordinates are clamped in the T direction to lie within the [0.0, 1.0] range. \param RepeatT [in] RepeatT to set. */ void setRepeatT(OdDAI::Boolean RepeatT); /** \details Returns the value of TextureType attribute. This attribute determines the purpose of texture usage. \returns Texture type. */ IfcSurfaceTextureEnum getTextureType() const; /** \details Sets the value of TextureType attribute. This attribute determines the purpose of texture usage. \param TextureType [in] Sets the texture type. */ void setTextureType(IfcSurfaceTextureEnum TextureType); /** \details Returns the value of TextureTransform attribute. TextureTransform attribute defines a 2D transformation that is applied to the texture coordinates. It affects the way texture coordinates are applied to the surfaces of geometric representation items. The 2D transformation supports changes to the size, orientation, and position of textures on shapes. Mirroring is not allowed to be used in the IfcCartesianTransformationOperator. \returns Returns the value of TextureTransform attribute. */ const OdDAIObjectId& getTextureTransform() const; /** \details Sets the value of TextureTransform attribute. TextureTransform attribute defines a 2D transformation that is applied to the texture coordinates. It affects the way texture coordinates are applied to the surfaces of geometric representation items. The 2D transformation supports changes to the size, orientation, and position of textures on shapes. Mirroring is not allowed to be used in the IfcCartesianTransformationOperator. \param TextureTransform [in] TextureTransform to set. */ void setTextureTransform(const OdDAIObjectId& TextureTransform); public: /** \details Default constructor for the IfcSurfaceTexture class. */ IfcSurfaceTexture(); /** \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: OdDAI::Boolean m_RepeatS; // BOOLEAN OdDAI::Boolean m_RepeatT; // BOOLEAN OdDAI::Enum m_TextureType; // IfcSurfaceTextureEnum OdDAIObjectId m_TextureTransform; // IfcCartesianTransformationOperator2D [optional] }; /** \details A data type that represents a smart pointer to a IfcSurfaceTexture object. */ typedef OdSmartPtr IfcSurfaceTexturePtr; } // namespace #include "TD_PackPop.h" #endif // _IFC2X2_FINAL_IFCSURFACETEXTURE_AUTO_IMPL_H