Przeglądaj źródła

- refactoring
- python

Panagiotis Christopoulos Charitos 14 lat temu
rodzic
commit
2270bcefdd

Plik diff jest za duży
+ 0 - 1
build/debug/Makefile


+ 2 - 2
src/Renderer/Drawers/SceneDrawer.cpp

@@ -12,7 +12,7 @@
 //======================================================================================================================
 // Constructor                                                                                                         =
 //======================================================================================================================
-SceneDrawer::UsrDefVarVisitor::UsrDefVarVisitor(const MtlUserDefinedVarRuntime& udvr_,
+SceneDrawer::UsrDefVarVisitor::UsrDefVarVisitor(const MaterialRuntimeUserDefinedVar& udvr_,
                                                 const Renderer& r_, uint& texUnit_):
 	udvr(udvr_),
 	r(r_),
@@ -236,7 +236,7 @@ void SceneDrawer::setupShaderProg(const MaterialRuntime& mtlr, const Transform&
 	//
 	// set user defined vars
 	//
-	BOOST_FOREACH(const MtlUserDefinedVarRuntime& udvr, mtlr.getUserDefinedVars())
+	BOOST_FOREACH(const MaterialRuntimeUserDefinedVar& udvr, mtlr.getUserDefinedVars())
 	{
 		boost::apply_visitor(UsrDefVarVisitor(udvr, r, textureUnit), udvr.getDataVariant());
 	}

+ 3 - 3
src/Renderer/Drawers/SceneDrawer.h

@@ -11,7 +11,7 @@ class Renderer;
 class Camera;
 class Material;
 class MaterialRuntime;
-class MtlUserDefinedVarRuntime;
+class MaterialRuntimeUserDefinedVar;
 
 
 /// It includes all the functions to render a RenderableNode
@@ -34,11 +34,11 @@ class SceneDrawer
 		class UsrDefVarVisitor: public boost::static_visitor<void>
 		{
 			public:
-				const MtlUserDefinedVarRuntime& udvr;
+				const MaterialRuntimeUserDefinedVar& udvr;
 				const Renderer& r;
 				mutable uint& texUnit;
 
-				UsrDefVarVisitor(const MtlUserDefinedVarRuntime& udvr, const Renderer& r, uint& texUnit);
+				UsrDefVarVisitor(const MaterialRuntimeUserDefinedVar& udvr, const Renderer& r, uint& texUnit);
 
 				void operator()(float x) const;
 				void operator()(const Vec2& x) const;

+ 5 - 5
src/Scene/MaterialRuntime/MaterialRuntime.cpp

@@ -19,7 +19,7 @@ MaterialRuntime::MaterialRuntime(const Material& mtl_):
 
 	BOOST_FOREACH(const MtlUserDefinedVar& udv, mtl.getUserDefinedVars())
 	{
-		MtlUserDefinedVarRuntime* udvr = new MtlUserDefinedVarRuntime(udv);
+		MaterialRuntimeUserDefinedVar* udvr = new MaterialRuntimeUserDefinedVar(udv);
 		userDefVars.push_back(udvr);
 		userDefVarsHashMap[udvr->getName().c_str()] = udvr;
 	}
@@ -29,9 +29,9 @@ MaterialRuntime::MaterialRuntime(const Material& mtl_):
 //======================================================================================================================
 // getUserDefinedVarByName                                                                                             =
 //======================================================================================================================
-MtlUserDefinedVarRuntime& MaterialRuntime::getUserDefinedVarByName(const char* name)
+MaterialRuntimeUserDefinedVar& MaterialRuntime::getUserDefinedVarByName(const char* name)
 {
-	CharPtrHashMap<MtlUserDefinedVarRuntime*>::iterator it = userDefVarsHashMap.find(name);
+	CharPtrHashMap<MaterialRuntimeUserDefinedVar*>::iterator it = userDefVarsHashMap.find(name);
 	if(it == userDefVarsHashMap.end())
 	{
 		throw EXCEPTION("Cannot get user defined variable with name \"" + name + '\"');
@@ -43,9 +43,9 @@ MtlUserDefinedVarRuntime& MaterialRuntime::getUserDefinedVarByName(const char* n
 //======================================================================================================================
 // getUserDefinedVarByName                                                                                             =
 //======================================================================================================================
-const MtlUserDefinedVarRuntime& MaterialRuntime::getUserDefinedVarByName(const char* name) const
+const MaterialRuntimeUserDefinedVar& MaterialRuntime::getUserDefinedVarByName(const char* name) const
 {
-	CharPtrHashMap<MtlUserDefinedVarRuntime*>::const_iterator it = userDefVarsHashMap.find(name);
+	CharPtrHashMap<MaterialRuntimeUserDefinedVar*>::const_iterator it = userDefVarsHashMap.find(name);
 	if(it == userDefVarsHashMap.end())
 	{
 		throw EXCEPTION("Cannot get user defined variable with name \"" + name + '\"');

+ 11 - 8
src/Scene/MaterialRuntime/MaterialRuntime.h

@@ -2,7 +2,7 @@
 #define MATERIAL_RUNTIME_H
 
 #include <boost/ptr_container/ptr_vector.hpp>
-#include "MtlUserDefinedVarRuntime.h"
+#include "MaterialRuntimeUserDefinedVar.h"
 #include "Properties.h"
 #include "CharPtrHashMap.h"
 #include "Material.h"
@@ -13,21 +13,23 @@
 class MaterialRuntime: private MaterialProps
 {
 	public:
+		typedef boost::ptr_vector<MaterialRuntimeUserDefinedVar> MaterialRuntimeUserDefinedVarContainer;
+
 		MaterialRuntime(const Material& mtl);
 
 		/// @name Accessors
 		/// @{
-		GETTER_RW(boost::ptr_vector<MtlUserDefinedVarRuntime>, userDefVars, getUserDefinedVars)
+		GETTER_RW(MaterialRuntimeUserDefinedVarContainer, userDefVars, getUserDefinedVars)
 
-		/// Find MtlUserDefinedVarRuntime variable. On failure it throws an exception
+		/// Find MaterialRuntimeUserDefinedVar variable. On failure it throws an exception
 		/// @param[in] name The name of the var
-		/// @return It returns a MtlUserDefinedVarRuntime
+		/// @return It returns a MaterialRuntimeUserDefinedVar
 		/// @exception Exception
-		MtlUserDefinedVarRuntime& getUserDefinedVarByName(const char* name);
+		MaterialRuntimeUserDefinedVar& getUserDefinedVarByName(const char* name);
 
 		/// The const version of getUserDefinedVarByName
 		/// @see getUserDefinedVarByName
-		const MtlUserDefinedVarRuntime& getUserDefinedVarByName(const char* name) const;
+		const MaterialRuntimeUserDefinedVar& getUserDefinedVarByName(const char* name) const;
 
 		const Material& getMaterial() const {return mtl;}
 
@@ -39,6 +41,7 @@ class MaterialRuntime: private MaterialProps
 		template<typename Type>
 		const Type& getUserDefVarValue(const char* name) const;
 
+		/// The non const version of getUserDefVarValue
 		template<typename Type>
 		Type& getUserDefVarValue(const char* name);
 
@@ -58,8 +61,8 @@ class MaterialRuntime: private MaterialProps
 
 	private:
 		const Material& mtl; ///< The resource
-		boost::ptr_vector<MtlUserDefinedVarRuntime> userDefVars;
-		CharPtrHashMap<MtlUserDefinedVarRuntime*> userDefVarsHashMap; ///< For fast finding the variables
+		MaterialRuntimeUserDefinedVarContainer userDefVars;
+		CharPtrHashMap<MaterialRuntimeUserDefinedVar*> userDefVarsHashMap; ///< For fast finding the variables
 };
 
 

+ 8 - 8
src/Scene/MaterialRuntime/MtlUserDefinedVarRuntime.cpp → src/Scene/MaterialRuntime/MaterialRuntimeUserDefinedVar.cpp

@@ -1,36 +1,36 @@
-#include "MtlUserDefinedVarRuntime.h"
+#include "MaterialRuntimeUserDefinedVar.h"
 
 
 //======================================================================================================================
 // Visitor functors                                                                                                    =
 //======================================================================================================================
 
-void MtlUserDefinedVarRuntime::ConstructVisitor::operator()(float x) const
+void MaterialRuntimeUserDefinedVar::ConstructVisitor::operator()(float x) const
 {
 	udvr.data = x;
 }
 
-void MtlUserDefinedVarRuntime::ConstructVisitor::operator()(const Vec2& x) const
+void MaterialRuntimeUserDefinedVar::ConstructVisitor::operator()(const Vec2& x) const
 {
 	udvr.data = x;
 }
 
-void MtlUserDefinedVarRuntime::ConstructVisitor::operator()(const Vec3& x) const
+void MaterialRuntimeUserDefinedVar::ConstructVisitor::operator()(const Vec3& x) const
 {
 	udvr.data = x;
 }
 
-void MtlUserDefinedVarRuntime::ConstructVisitor::operator()(const Vec4& x) const
+void MaterialRuntimeUserDefinedVar::ConstructVisitor::operator()(const Vec4& x) const
 {
 	udvr.data = x;
 }
 
-void MtlUserDefinedVarRuntime::ConstructVisitor::operator()(const RsrcPtr<Texture>& x) const
+void MaterialRuntimeUserDefinedVar::ConstructVisitor::operator()(const RsrcPtr<Texture>& x) const
 {
 	udvr.data = &x;
 }
 
-void MtlUserDefinedVarRuntime::ConstructVisitor::operator()(MtlUserDefinedVar::Fai x) const
+void MaterialRuntimeUserDefinedVar::ConstructVisitor::operator()(MtlUserDefinedVar::Fai x) const
 {
 	udvr.data = x;
 }
@@ -39,7 +39,7 @@ void MtlUserDefinedVarRuntime::ConstructVisitor::operator()(MtlUserDefinedVar::F
 //======================================================================================================================
 // Constructor                                                                                                         =
 //======================================================================================================================
-MtlUserDefinedVarRuntime::MtlUserDefinedVarRuntime(const MtlUserDefinedVar& rsrc_):
+MaterialRuntimeUserDefinedVar::MaterialRuntimeUserDefinedVar(const MtlUserDefinedVar& rsrc_):
 	rsrc(rsrc_)
 {
 	// Initialize the data using a visitor

+ 6 - 6
src/Scene/MaterialRuntime/MtlUserDefinedVarRuntime.h → src/Scene/MaterialRuntime/MaterialRuntimeUserDefinedVar.h

@@ -1,11 +1,11 @@
-#ifndef MTL_USER_DEFINED_VAR_RUNTIME_H
-#define MTL_USER_DEFINED_VAR_RUNTIME_H
+#ifndef MATERIAL_RUNTIME_USER_DEFINED_VAR_H
+#define MATERIAL_RUNTIME_USER_DEFINED_VAR_H
 
 #include "MtlUserDefinedVar.h"
 
 
 /// This holds a copy of the MtlUserDefinedVar's data in order to be changed inside the main loop
-class MtlUserDefinedVarRuntime
+class MaterialRuntimeUserDefinedVar
 {
 	friend class ConstructVisitor;
 
@@ -14,7 +14,7 @@ class MtlUserDefinedVarRuntime
 		typedef boost::variant<float, Vec2, Vec3, Vec4, const RsrcPtr<Texture>*, MtlUserDefinedVar::Fai> DataVariant;
 
 		/// The one and only constructor
-		MtlUserDefinedVarRuntime(const MtlUserDefinedVar& rsrc);
+		MaterialRuntimeUserDefinedVar(const MtlUserDefinedVar& rsrc);
 
 		/// @name Accessors
 		/// @{
@@ -43,9 +43,9 @@ class MtlUserDefinedVarRuntime
 		class ConstructVisitor: public boost::static_visitor<void>
 		{
 			public:
-				MtlUserDefinedVarRuntime& udvr;
+				MaterialRuntimeUserDefinedVar& udvr;
 
-				ConstructVisitor(MtlUserDefinedVarRuntime& udvr_): udvr(udvr_) {}
+				ConstructVisitor(MaterialRuntimeUserDefinedVar& udvr_): udvr(udvr_) {}
 
 				void operator()(float x) const;
 				void operator()(const Vec2& x) const;

+ 6 - 0
src/Scripting/Scene/MaterialRuntime/MaterialRuntime.bpi.cpp

@@ -4,7 +4,13 @@
 
 WRAP(MaterialRuntime)
 {
+	WRAP_CONTAINER(MaterialRuntime::MaterialRuntimeUserDefinedVarContainer)
+
 	class_<MaterialRuntime, noncopyable>("MaterialRuntime", no_init)
+		/*.def("getUserDefinedVars",
+		     (boost::ptr_vector<MaterialRuntimeUserDefinedVar>& (MaterialRuntime::*)())(&MaterialRuntime::getUserDefinedVars),
+		     return_value_policy<reference_existing_object>())*/
+
 		.def("setUserDefVar", (void (MaterialRuntime::*)(const char*, const float&))(&MaterialRuntime::setUserDefVarValue))
 		.def("setUserDefVar", (void (MaterialRuntime::*)(const char*, const Vec2&))(&MaterialRuntime::setUserDefVarValue))
 		.def("setUserDefVar", (void (MaterialRuntime::*)(const char*, const Vec3&))(&MaterialRuntime::setUserDefVarValue))

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików