2
Copyright (c) 2008-2009 NetAllied Systems GmbH
4
This file is part of COLLADAFramework.
6
Licensed under the MIT Open Source License,
7
for details please see LICENSE file or the website
8
http://www.opensource.org/licenses/mit-license.php
11
#ifndef __COLLADAFW_SEMANTIC_H__
12
#define __COLLADAFW_SEMANTIC_H__
14
#include "COLLADAFWPrerequisites.h"
21
Provides metainformation that describes the purpose of a parameter declaration.
23
Semantics describe the intention or purpose of a parameter declaration in an effect, using an
24
overloaded concept. Semantics have been used historically to describe three different type of
26
� A hardware resource allocated to a parameter, for example, TEXCOORD2, NORMAL.
27
� A value from the scene graph or graphics API that is being represented by this parameter, for
28
example, MODELVIEWMATRIX, CAMERAPOS, VIEWPORTSIZE.
29
� A user-defined value that will be set by the application at run time when the effect is being
30
initialized, for example, DAMAGE_PERCENT, MAGIC_LEVEL.
31
Semantics are used by the <instance_geometry> declaration inside <node> to bind effect
32
parameters to values and data sources that can be found in the scene graph, using the
33
<bind_material> mechanism used to disambiguate this mapping.
39
/** There is currently no standard set of semantics. This element can contain any
40
xs:NCName defined by your application. */
49
virtual ~Semantic() {}
51
/** There is currently no standard set of semantics. This element can contain any
52
xs:NCName defined by your application. */
53
const String getValue () const { return mValue; }
55
/** There is currently no standard set of semantics. This element can contain any
56
xs:NCName defined by your application. */
57
void setValue ( const String Value ) { mValue = Value; }
61
/** Disable default copy ctor. */
62
Semantic( const Semantic& pre );
64
/** Disable default assignment operator. */
65
const Semantic& operator= ( const Semantic& pre );
69
} // namespace COLLADAFW
71
#endif // __COLLADAFW_SEMANTIC_H__