Code Search for Developers
 
 
  

domBind_material.h from NeoEngineNG at Krugle


Show domBind_material.h syntax highlighted

/*
 * Copyright 2006 Sony Computer Entertainment Inc.
 *
 * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this 
 * file except in compliance with the License. You may obtain a copy of the License at:
 * http://research.scea.com/scea_shared_source_license.html
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License 
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 
 * implied. See the License for the specific language governing permissions and limitations under the 
 * License. 
 */
#ifndef __domBind_material_h__
#define __domBind_material_h__

#include <dom/domTypes.h>
#include <dom/domElements.h>

#include <dom/domParam.h>
#include <dom/domTechnique.h>
#include <dom/domExtra.h>
#include <dom/domInstance_material.h>

/**
 * Bind a specific material to a piece of geometry, binding varying and uniform
 * parameters at the  same time.
 */
class domBind_material : public daeElement
{
public:
	class domTechnique_common;

	typedef daeSmartRef<domTechnique_common> domTechnique_commonRef;
	typedef daeTArray<domTechnique_commonRef> domTechnique_common_Array;

/**
 * The technique_common element specifies the bind_material information for
 * the common  profile which all COLLADA implementations need to support.
 */
	class domTechnique_common : public daeElement
	{

	protected:  // Element
/**
 *  The instance_material element specifies the information needed to bind
 * a geometry to a material. This element must appear at least once.  @see
 * domInstance_material
 */
		domInstance_material_Array elemInstance_material_array;

	public:	//Accessors and Mutators
		/**
		 * Gets the instance_material element array.
		 * @return Returns a reference to the array of instance_material elements.
		 */
		domInstance_material_Array &getInstance_material_array() { return elemInstance_material_array; }
		/**
		 * Gets the instance_material element array.
		 * @return Returns a constant reference to the array of instance_material elements.
		 */
		const domInstance_material_Array &getInstance_material_array() const { return elemInstance_material_array; }
	protected:
		/**
		 * Constructor
		 */
		domTechnique_common() : elemInstance_material_array() {}
		/**
		 * Destructor
		 */
		virtual ~domTechnique_common() {}
		/**
		 * Copy Constructor
		 */
		domTechnique_common( const domTechnique_common &cpy ) : daeElement() { (void)cpy; }
		/**
		 * Overloaded assignment operator
		 */
		virtual domTechnique_common &operator=( const domTechnique_common &cpy ) { (void)cpy; return *this; }

	public: // STATIC METHODS
		/**
		 * Creates an instance of this class and returns a daeElementRef referencing it.
		 * @param bytes The size allocated for this instance.
		 * @return a daeElementRef referencing an instance of this object.
		 */
		static daeElementRef create(daeInt bytes);
		/**
		 * 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 daeMetaElement* registerElement();

	public: // STATIC MEMBERS
		/**
		 * The daeMetaElement that describes this element in the meta object reflection framework.
		 */
		static daeMetaElement* _Meta;
	};



protected:  // Elements
/**
 *  The bind_material element may contain any number of param elements.  @see
 * domParam
 */
	domParam_Array elemParam_array;
/**
 * The technique_common element specifies the bind_material information for
 * the common  profile which all COLLADA implementations need to support.
 * @see domTechnique_common
 */
	domTechnique_commonRef elemTechnique_common;
/**
 *  This element may contain any number of non-common profile techniques.
 * @see domTechnique
 */
	domTechnique_Array elemTechnique_array;
/**
 *  The extra element may appear any number of times.  @see domExtra
 */
	domExtra_Array elemExtra_array;

public:	//Accessors and Mutators
	/**
	 * Gets the param element array.
	 * @return Returns a reference to the array of param elements.
	 */
	domParam_Array &getParam_array() { return elemParam_array; }
	/**
	 * Gets the param element array.
	 * @return Returns a constant reference to the array of param elements.
	 */
	const domParam_Array &getParam_array() const { return elemParam_array; }
	/**
	 * Gets the technique_common element.
	 * @return a daeSmartRef to the technique_common element.
	 */
	const domTechnique_commonRef getTechnique_common() const { return elemTechnique_common; }
	/**
	 * Gets the technique element array.
	 * @return Returns a reference to the array of technique elements.
	 */
	domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
	/**
	 * Gets the technique element array.
	 * @return Returns a constant reference to the array of technique elements.
	 */
	const domTechnique_Array &getTechnique_array() const { return elemTechnique_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
	 */
	domBind_material() : elemParam_array(), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {}
	/**
	 * Destructor
	 */
	virtual ~domBind_material() {}
	/**
	 * Copy Constructor
	 */
	domBind_material( const domBind_material &cpy ) : daeElement() { (void)cpy; }
	/**
	 * Overloaded assignment operator
	 */
	virtual domBind_material &operator=( const domBind_material &cpy ) { (void)cpy; return *this; }

public: // STATIC METHODS
	/**
	 * Creates an instance of this class and returns a daeElementRef referencing it.
	 * @param bytes The size allocated for this instance.
	 * @return a daeElementRef referencing an instance of this object.
	 */
	static daeElementRef create(daeInt bytes);
	/**
	 * 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 daeMetaElement* registerElement();

public: // STATIC MEMBERS
	/**
	 * The daeMetaElement that describes this element in the meta object reflection framework.
	 */
	static daeMetaElement* _Meta;
};


#endif




See more files for this project here

NeoEngineNG

NeoenEngine NG (Next Generation) is the evolution of neoengine one,it\'s a different development from NeoEngine2, it\'s a direct inherits from NeoEngine one.\n

Project homepage: http://sourceforge.net/projects/neoengineng
Programming language(s): C,C++
License: other

  domAccessor.h
  domAnimation.h
  domAnimation_clip.h
  domAsset.h
  domBind_material.h
  domBool_array.h
  domBox.h
  domCOLLADA.h
  domCamera.h
  domCapsule.h
  domCg_connect_param.h
  domCg_newarray_type.h
  domCg_newparam.h
  domCg_param_type.h
  domCg_sampler1D.h
  domCg_sampler2D.h
  domCg_sampler3D.h
  domCg_samplerCUBE.h
  domCg_samplerDEPTH.h
  domCg_samplerRECT.h
  domCg_setarray_type.h
  domCg_setparam.h
  domCg_setparam_simple.h
  domCg_setuser_type.h
  domCg_surface_type.h
  domChannel.h
  domCommon_color_or_texture_type.h
  domCommon_float_or_param_type.h
  domCommon_newparam_type.h
  domCommon_transparent_type.h
  domConstants.h
  domController.h
  domConvex_mesh.h
  domCylinder.h
  domEffect.h
  domElements.h
  domEllipsoid.h
  domExtra.h
  domFloat_array.h
  domForce_field.h
  domFx_annotate_common.h
  domFx_annotate_type_common.h
  domFx_basic_type_common.h
  domFx_clearcolor_common.h
  domFx_cleardepth_common.h
  domFx_clearstencil_common.h
  domFx_code_profile.h
  domFx_colortarget_common.h
  domFx_depthtarget_common.h
  domFx_include_common.h
  domFx_newparam_common.h
  domFx_profile_abstract.h
  domFx_sampler1D_common.h
  domFx_sampler2D_common.h
  domFx_sampler3D_common.h
  domFx_samplerCUBE_common.h
  domFx_samplerDEPTH_common.h
  domFx_samplerRECT_common.h
  domFx_stenciltarget_common.h
  domFx_surface_common.h
  domFx_surface_format_hint_common.h
  domFx_surface_init_common.h
  domFx_surface_init_cube_common.h
  domFx_surface_init_from_common.h
  domFx_surface_init_planar_common.h
  domFx_surface_init_volume_common.h
  domGeometry.h
  domGl_hook_abstract.h
  domGl_pipeline_settings.h
  domGl_sampler1D.h
  domGl_sampler2D.h
  domGl_sampler3D.h
  domGl_samplerCUBE.h
  domGl_samplerDEPTH.h
  domGl_samplerRECT.h
  domGles_basic_type_common.h
  domGles_newparam.h
  domGles_pipeline_settings.h
  domGles_sampler_state.h
  domGles_texcombiner_argumentAlpha_type.h
  domGles_texcombiner_argumentRGB_type.h
  domGles_texcombiner_commandAlpha_type.h
  domGles_texcombiner_commandRGB_type.h
  domGles_texcombiner_command_type.h
  domGles_texenv_command_type.h
  domGles_texture_constant_type.h
  domGles_texture_pipeline.h
  domGles_texture_unit.h
  domGlsl_newarray_type.h
  domGlsl_newparam.h
  domGlsl_param_type.h
  domGlsl_setarray_type.h
  domGlsl_setparam.h
  domGlsl_setparam_simple.h
  domGlsl_surface_type.h
  domIDREF_array.h
  domImage.h
  domInputGlobal.h
  domInputLocal.h
  domInputLocalOffset.h