/////////////////////////////////////////////////////////////////////////////// // 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 _IFC2X3_IFCPIXELTEXTURE_AUTO_IMPL_H #define _IFC2X3_IFCPIXELTEXTURE_AUTO_IMPL_H #include "IfcSurfaceTextureAutoImpl.h" #include "TD_PackPush.h" /** \details The namespace contains schema-dependent classes, definitions and sub routines for work with IFC2X3 express schema definitions. */ namespace OdIfc2x3 { /** \details An IfcPixelTexture provides a 2D image-based texture map as an explicit array of pixel values (list of Pixel binary attributes). In contrary to the IfcImageTexture, the IfcPixelTexture holds a 2 dimensional list of pixel color (and opacity) directly, instead of referencing to an URL. * The PixelTexture node defines a 2D image-based texture map as an explicit array of pixel values and parameters controlling tiling repetition of the texture onto geometry. * Texture maps are defined in a 2D coordinate system (s, t) that ranges from 0.0 to 1.0 in both directions. The bottom edge of the pixel image corresponds to the S-axis of the texture map, and left edge of the pixel image corresponds to the T-axis of the texture map. The lower-left pixel of the pixel image corresponds to s=0.0, t=0.0, and the top-right pixel of the image corresponds to s = 1.0, t = 1.0. * The Image field specifies a single uncompressed 2-dimensional pixel image. Image fields contain three integers representing the width, height and number of components in the image, followed by width * height hexadecimal values representing the pixels in the image. Pixel values are limited to 256 levels of intensity (that is, 0x00-0xFF hexadecimal). * Alpha equals (1.0-transparency), if alpha and transparency each range from 0.0 to 1.0. */ class IFC2X3_EXPORT IfcPixelTexture : public IfcSurfaceTexture { //DOM-IGNORE-BEGIN OD_EXP_DECLARE_MEMBERS(OdIfc2x3::IfcPixelTexture); //DOM-IGNORE-END public: // // OdDAI early binding accessors // /** \details Returns the value of Width attribute. This attribute represents the number of pixels in width (S) direction. \returns Returns the value of Width attribute. */ int getWidth() const; /** \details Sets the value of Width attribute. This attribute represents the number of pixels in width (S) direction. \param Width [in] Width to set. */ void setWidth(int Width); /** \details Returns the value of Height attribute. This attribute represents the number of pixels in height (T) direction. \returns Returns the value of Height attribute. */ int getHeight() const; /** \details Sets the value of Height attribute. This attribute represents the number of pixels in height (T) direction. \param Height [in] Height to set. */ void setHeight(int Height); /** \details Returns the value of ColourComponents attribute. This attribute indicates whether the pixel values contain a 1, 2, 3, or 4 colour component. \returns Returns the value of ColourComponents attribute. */ int getColourComponents() const; /** \details Sets the value of ColourComponents attribute. This attribute indicates whether the pixel values contain a 1, 2, 3, or 4 colour component. \param ColourComponents [in] Colour components to set. */ void setColourComponents(int ColourComponents); /** \details Gets the value of Pixel attribute. This attribute represents list of hexadecimal values, each describing one pixel by 1, 2, 3, or 4 components. \param Pixel [out] Receives the Pixel attribute. */ void getPixel(OdArray& Pixel) const; /** \details Returns the value of Pixel attribute. This attribute represents list of hexadecimal values, each describing one pixel by 1, 2, 3, or 4 components. \returns Returns the value of Pixel attribute. */ OdDAI::ListOfBinary& pixel(); public: /** \details Default constructor for the IfcPixelTexture class. */ IfcPixelTexture(); /** \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 Early-bound version of instances comparison. \param pOther [in] Other application instance. \param 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: Name 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.
*/ virtual bool comparedToEarlyImpl(const OdDAI::ApplicationInstance *pOther, OdRx::Ordering &ordering) 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: int m_Width; // IfcInteger int m_Height; // IfcInteger int m_ColourComponents; // IfcInteger OdDAI::ListOfBinary m_Pixel; // LIST [1:?] of BINARY(32) }; /** \details A data type that represents a smart pointer to a IfcPixelTexture object. */ typedef OdSmartPtr IfcPixelTexturePtr; } // namespace #include "TD_PackPop.h" #endif // _IFC2X3_IFCPIXELTEXTURE_AUTO_IMPL_H