/dom/include/1.4/dom/domFx_surface_format_hint_common.h
C Header | 397 lines | 132 code | 39 blank | 226 comment | 0 complexity | 062af43198994848c0be1b74b3305216 MD5 | raw file
Possible License(s): BSD-3-Clause
- /*
- * Copyright 2006 Sony Computer Entertainment Inc.
- *
- * Licensed under the MIT Open Source License, for details please see license.txt or the website
- * http://www.opensource.org/licenses/mit-license.php
- *
- */
- #ifndef __domFx_surface_format_hint_common_h__
- #define __domFx_surface_format_hint_common_h__
- #include <dae/daeDocument.h>
- #include <dom/domTypes.h>
- #include <dom/domElements.h>
- #include <dom/domExtra.h>
- class DAE;
- /**
- * If the exact format cannot be resolve via other methods then the format_hint
- * will describe the important features of the format so that the application
- * may select a compatable or close format
- */
- class domFx_surface_format_hint_common_complexType
- {
- public:
- class domChannels;
- typedef daeSmartRef<domChannels> domChannelsRef;
- typedef daeTArray<domChannelsRef> domChannels_Array;
- /**
- * The per-texel layout of the format. The length of the string indicate
- * how many channels there are and the letter respresents the name of the
- * channel. There are typically 0 to 4 channels.
- */
- class domChannels : public daeElement
- {
- public:
- virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CHANNELS; }
- static daeInt ID() { return 6; }
- virtual daeInt typeID() const { return ID(); }
- protected: // Value
- /**
- * The domFx_surface_format_hint_channels_enum value of the text data of this element.
- */
- domFx_surface_format_hint_channels_enum _value;
- public: //Accessors and Mutators
- /**
- * Gets the value of this element.
- * @return a domFx_surface_format_hint_channels_enum of the value.
- */
- domFx_surface_format_hint_channels_enum getValue() const { return _value; }
- /**
- * Sets the _value of this element.
- * @param val The new value for this element.
- */
- void setValue( domFx_surface_format_hint_channels_enum val ) { _value = val; }
- protected:
- /**
- * Constructor
- */
- domChannels(DAE& dae) : daeElement(dae), _value() {}
- /**
- * Destructor
- */
- virtual ~domChannels() {}
- /**
- * Overloaded assignment operator
- */
- virtual domChannels &operator=( const domChannels &cpy ) { (void)cpy; return *this; }
- public: // STATIC METHODS
- /**
- * Creates an instance of this class and returns a daeElementRef referencing it.
- * @return a daeElementRef referencing an instance of this object.
- */
- static DLLSPEC daeElementRef create(DAE& dae);
- /**
- * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
- * If a daeMetaElement already exists it will return that instead of creating a new one.
- * @return A daeMetaElement describing this COLLADA element.
- */
- static DLLSPEC daeMetaElement* registerElement(DAE& dae);
- };
- class domRange;
- typedef daeSmartRef<domRange> domRangeRef;
- typedef daeTArray<domRangeRef> domRange_Array;
- /**
- * Each channel represents a range of values. Some example ranges are signed
- * or unsigned integers, or between between a clamped range such as 0.0f to
- * 1.0f, or high dynamic range via floating point
- */
- class domRange : public daeElement
- {
- public:
- virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RANGE; }
- static daeInt ID() { return 7; }
- virtual daeInt typeID() const { return ID(); }
- protected: // Value
- /**
- * The domFx_surface_format_hint_range_enum value of the text data of this element.
- */
- domFx_surface_format_hint_range_enum _value;
- public: //Accessors and Mutators
- /**
- * Gets the value of this element.
- * @return a domFx_surface_format_hint_range_enum of the value.
- */
- domFx_surface_format_hint_range_enum getValue() const { return _value; }
- /**
- * Sets the _value of this element.
- * @param val The new value for this element.
- */
- void setValue( domFx_surface_format_hint_range_enum val ) { _value = val; }
- protected:
- /**
- * Constructor
- */
- domRange(DAE& dae) : daeElement(dae), _value() {}
- /**
- * Destructor
- */
- virtual ~domRange() {}
- /**
- * Overloaded assignment operator
- */
- virtual domRange &operator=( const domRange &cpy ) { (void)cpy; return *this; }
- public: // STATIC METHODS
- /**
- * Creates an instance of this class and returns a daeElementRef referencing it.
- * @return a daeElementRef referencing an instance of this object.
- */
- static DLLSPEC daeElementRef create(DAE& dae);
- /**
- * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
- * If a daeMetaElement already exists it will return that instead of creating a new one.
- * @return A daeMetaElement describing this COLLADA element.
- */
- static DLLSPEC daeMetaElement* registerElement(DAE& dae);
- };
- class domPrecision;
- typedef daeSmartRef<domPrecision> domPrecisionRef;
- typedef daeTArray<domPrecisionRef> domPrecision_Array;
- /**
- * Each channel of the texel has a precision. Typically these are all linked
- * together. An exact format lay lower the precision of an individual channel
- * but applying a higher precision by linking the channels together may still
- * convey the same information.
- */
- class domPrecision : public daeElement
- {
- public:
- virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PRECISION; }
- static daeInt ID() { return 8; }
- virtual daeInt typeID() const { return ID(); }
- protected: // Value
- /**
- * The domFx_surface_format_hint_precision_enum value of the text data of this element.
- */
- domFx_surface_format_hint_precision_enum _value;
- public: //Accessors and Mutators
- /**
- * Gets the value of this element.
- * @return a domFx_surface_format_hint_precision_enum of the value.
- */
- domFx_surface_format_hint_precision_enum getValue() const { return _value; }
- /**
- * Sets the _value of this element.
- * @param val The new value for this element.
- */
- void setValue( domFx_surface_format_hint_precision_enum val ) { _value = val; }
- protected:
- /**
- * Constructor
- */
- domPrecision(DAE& dae) : daeElement(dae), _value() {}
- /**
- * Destructor
- */
- virtual ~domPrecision() {}
- /**
- * Overloaded assignment operator
- */
- virtual domPrecision &operator=( const domPrecision &cpy ) { (void)cpy; return *this; }
- public: // STATIC METHODS
- /**
- * Creates an instance of this class and returns a daeElementRef referencing it.
- * @return a daeElementRef referencing an instance of this object.
- */
- static DLLSPEC daeElementRef create(DAE& dae);
- /**
- * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
- * If a daeMetaElement already exists it will return that instead of creating a new one.
- * @return A daeMetaElement describing this COLLADA element.
- */
- static DLLSPEC daeMetaElement* registerElement(DAE& dae);
- };
- class domOption;
- typedef daeSmartRef<domOption> domOptionRef;
- typedef daeTArray<domOptionRef> domOption_Array;
- /**
- * Additional hints about data relationships and other things to help the
- * application pick the best format.
- */
- class domOption : public daeElement
- {
- public:
- virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::OPTION; }
- static daeInt ID() { return 9; }
- virtual daeInt typeID() const { return ID(); }
- protected: // Value
- /**
- * The domFx_surface_format_hint_option_enum value of the text data of this element.
- */
- domFx_surface_format_hint_option_enum _value;
- public: //Accessors and Mutators
- /**
- * Gets the value of this element.
- * @return a domFx_surface_format_hint_option_enum of the value.
- */
- domFx_surface_format_hint_option_enum getValue() const { return _value; }
- /**
- * Sets the _value of this element.
- * @param val The new value for this element.
- */
- void setValue( domFx_surface_format_hint_option_enum val ) { _value = val; }
- protected:
- /**
- * Constructor
- */
- domOption(DAE& dae) : daeElement(dae), _value() {}
- /**
- * Destructor
- */
- virtual ~domOption() {}
- /**
- * Overloaded assignment operator
- */
- virtual domOption &operator=( const domOption &cpy ) { (void)cpy; return *this; }
- public: // STATIC METHODS
- /**
- * Creates an instance of this class and returns a daeElementRef referencing it.
- * @return a daeElementRef referencing an instance of this object.
- */
- static DLLSPEC daeElementRef create(DAE& dae);
- /**
- * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
- * If a daeMetaElement already exists it will return that instead of creating a new one.
- * @return A daeMetaElement describing this COLLADA element.
- */
- static DLLSPEC daeMetaElement* registerElement(DAE& dae);
- };
- protected: // Elements
- /**
- * The per-texel layout of the format. The length of the string indicate
- * how many channels there are and the letter respresents the name of the
- * channel. There are typically 0 to 4 channels. @see domChannels
- */
- domChannelsRef elemChannels;
- /**
- * Each channel represents a range of values. Some example ranges are signed
- * or unsigned integers, or between between a clamped range such as 0.0f to
- * 1.0f, or high dynamic range via floating point @see domRange
- */
- domRangeRef elemRange;
- /**
- * Each channel of the texel has a precision. Typically these are all linked
- * together. An exact format lay lower the precision of an individual channel
- * but applying a higher precision by linking the channels together may still
- * convey the same information. @see domPrecision
- */
- domPrecisionRef elemPrecision;
- /**
- * Additional hints about data relationships and other things to help the
- * application pick the best format. @see domOption
- */
- domOption_Array elemOption_array;
- domExtra_Array elemExtra_array;
- public: //Accessors and Mutators
- /**
- * Gets the channels element.
- * @return a daeSmartRef to the channels element.
- */
- const domChannelsRef getChannels() const { return elemChannels; }
- /**
- * Gets the range element.
- * @return a daeSmartRef to the range element.
- */
- const domRangeRef getRange() const { return elemRange; }
- /**
- * Gets the precision element.
- * @return a daeSmartRef to the precision element.
- */
- const domPrecisionRef getPrecision() const { return elemPrecision; }
- /**
- * Gets the option element array.
- * @return Returns a reference to the array of option elements.
- */
- domOption_Array &getOption_array() { return elemOption_array; }
- /**
- * Gets the option element array.
- * @return Returns a constant reference to the array of option elements.
- */
- const domOption_Array &getOption_array() const { return elemOption_array; }
- /**
- * Gets the extra element array.
- * @return Returns a reference to the array of extra elements.
- */
- domExtra_Array &getExtra_array() { return elemExtra_array; }
- /**
- * Gets the extra element array.
- * @return Returns a constant reference to the array of extra elements.
- */
- const domExtra_Array &getExtra_array() const { return elemExtra_array; }
- protected:
- /**
- * Constructor
- */
- domFx_surface_format_hint_common_complexType(DAE& dae, daeElement* elt) : elemChannels(), elemRange(), elemPrecision(), elemOption_array(), elemExtra_array() {}
- /**
- * Destructor
- */
- virtual ~domFx_surface_format_hint_common_complexType() {}
- /**
- * Overloaded assignment operator
- */
- virtual domFx_surface_format_hint_common_complexType &operator=( const domFx_surface_format_hint_common_complexType &cpy ) { (void)cpy; return *this; }
- };
- /**
- * An element of type domFx_surface_format_hint_common_complexType.
- */
- class domFx_surface_format_hint_common : public daeElement, public domFx_surface_format_hint_common_complexType
- {
- public:
- virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SURFACE_FORMAT_HINT_COMMON; }
- static daeInt ID() { return 10; }
- virtual daeInt typeID() const { return ID(); }
- protected:
- /**
- * Constructor
- */
- domFx_surface_format_hint_common(DAE& dae) : daeElement(dae), domFx_surface_format_hint_common_complexType(dae, this) {}
- /**
- * Destructor
- */
- virtual ~domFx_surface_format_hint_common() {}
- /**
- * Overloaded assignment operator
- */
- virtual domFx_surface_format_hint_common &operator=( const domFx_surface_format_hint_common &cpy ) { (void)cpy; return *this; }
- public: // STATIC METHODS
- /**
- * Creates an instance of this class and returns a daeElementRef referencing it.
- * @return a daeElementRef referencing an instance of this object.
- */
- static DLLSPEC daeElementRef create(DAE& dae);
- /**
- * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
- * If a daeMetaElement already exists it will return that instead of creating a new one.
- * @return A daeMetaElement describing this COLLADA element.
- */
- static DLLSPEC daeMetaElement* registerElement(DAE& dae);
- };
- #endif