diff --git a/code/nel/tools/pipeline/max/CMakeLists.txt b/code/nel/tools/pipeline/max/CMakeLists.txt
index db5982f85..8c9ef40cc 100644
--- a/code/nel/tools/pipeline/max/CMakeLists.txt
+++ b/code/nel/tools/pipeline/max/CMakeLists.txt
@@ -14,8 +14,8 @@ ENDIF (NOT GLIB2_FOUND)
INCLUDE_DIRECTORIES(${GLIB2_INCLUDE_DIRS})
INCLUDE_DIRECTORIES(${LIBGSF_INCLUDE_DIR})
-FILE(GLOB SRCS *.cpp builtin/*.cpp)
-FILE(GLOB HDRS *.h builtin/*.h)
+FILE(GLOB SRCS *.cpp builtin/*.cpp builtin/storage/*.cpp)
+FILE(GLOB HDRS *.h builtin/*.h builtin/storage/*.h)
NL_TARGET_LIB(pipeline_max
${SRCS}
diff --git a/code/nel/tools/pipeline/max/builtin/animatable.cpp b/code/nel/tools/pipeline/max/builtin/animatable.cpp
new file mode 100644
index 000000000..e95223b23
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/animatable.cpp
@@ -0,0 +1,59 @@
+/**
+ * \file animatable.cpp
+ * \brief CAnimatable
+ * \date 2012-08-22 08:52GMT
+ * \author Jan Boon (Kaetemi)
+ * CAnimatable
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#include
+#include "animatable.h"
+
+// STL includes
+
+// NeL includes
+// #include
+
+// Project includes
+
+using namespace std;
+// using namespace NLMISC;
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+CAnimatable::CAnimatable()
+{
+
+}
+
+CAnimatable::~CAnimatable()
+{
+
+}
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/animatable.h b/code/nel/tools/pipeline/max/builtin/animatable.h
new file mode 100644
index 000000000..d824ddf6f
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/animatable.h
@@ -0,0 +1,63 @@
+/**
+ * \file animatable.h
+ * \brief CAnimatable
+ * \date 2012-08-22 08:52GMT
+ * \author Jan Boon (Kaetemi)
+ * CAnimatable
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#ifndef PIPELINE_ANIMATABLE_H
+#define PIPELINE_ANIMATABLE_H
+#include
+
+// STL includes
+
+// NeL includes
+
+// Project includes
+#include "../scene_class.h"
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+/**
+ * \brief CAnimatable
+ * \date 2012-08-22 08:52GMT
+ * \author Jan Boon (Kaetemi)
+ * This scene class owns the AppData chunk
+ */
+class CAnimatable : public CSceneClass
+{
+public:
+ CAnimatable();
+ virtual ~CAnimatable();
+
+}; /* class CAnimatable */
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+#endif /* #ifndef PIPELINE_ANIMATABLE_H */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/base_object.cpp b/code/nel/tools/pipeline/max/builtin/base_object.cpp
new file mode 100644
index 000000000..0f5e42af0
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/base_object.cpp
@@ -0,0 +1,59 @@
+/**
+ * \file base_object.cpp
+ * \brief CBaseObject
+ * \date 2012-08-22 08:53GMT
+ * \author Jan Boon (Kaetemi)
+ * CBaseObject
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#include
+#include "base_object.h"
+
+// STL includes
+
+// NeL includes
+// #include
+
+// Project includes
+
+using namespace std;
+// using namespace NLMISC;
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+CBaseObject::CBaseObject()
+{
+
+}
+
+CBaseObject::~CBaseObject()
+{
+
+}
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/base_object.h b/code/nel/tools/pipeline/max/builtin/base_object.h
new file mode 100644
index 000000000..549c8bfc9
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/base_object.h
@@ -0,0 +1,63 @@
+/**
+ * \file base_object.h
+ * \brief CBaseObject
+ * \date 2012-08-22 08:53GMT
+ * \author Jan Boon (Kaetemi)
+ * CBaseObject
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#ifndef PIPELINE_BASE_OBJECT_H
+#define PIPELINE_BASE_OBJECT_H
+#include
+
+// STL includes
+
+// NeL includes
+
+// Project includes
+#include "reference_target.h"
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+/**
+ * \brief CBaseObject
+ * \date 2012-08-22 08:53GMT
+ * \author Jan Boon (Kaetemi)
+ * CBaseObject
+ */
+class CBaseObject : public CReferenceTarget
+{
+public:
+ CBaseObject();
+ virtual ~CBaseObject();
+
+}; /* class CBaseObject */
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+#endif /* #ifndef PIPELINE_BASE_OBJECT_H */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/bitmap_tex.cpp b/code/nel/tools/pipeline/max/builtin/bitmap_tex.cpp
new file mode 100644
index 000000000..a891305cc
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/bitmap_tex.cpp
@@ -0,0 +1,59 @@
+/**
+ * \file bitmap_tex.cpp
+ * \brief CBitmapTex
+ * \date 2012-08-22 08:56GMT
+ * \author Jan Boon (Kaetemi)
+ * CBitmapTex
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#include
+#include "bitmap_tex.h"
+
+// STL includes
+
+// NeL includes
+// #include
+
+// Project includes
+
+using namespace std;
+// using namespace NLMISC;
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+CBitmapTex::CBitmapTex()
+{
+
+}
+
+CBitmapTex::~CBitmapTex()
+{
+
+}
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/bitmap_tex.h b/code/nel/tools/pipeline/max/builtin/bitmap_tex.h
new file mode 100644
index 000000000..32fdfbec7
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/bitmap_tex.h
@@ -0,0 +1,63 @@
+/**
+ * \file bitmap_tex.h
+ * \brief CBitmapTex
+ * \date 2012-08-22 08:56GMT
+ * \author Jan Boon (Kaetemi)
+ * CBitmapTex
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#ifndef PIPELINE_BITMAP_TEX_H
+#define PIPELINE_BITMAP_TEX_H
+#include
+
+// STL includes
+
+// NeL includes
+
+// Project includes
+#include "texmap.h"
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+/**
+ * \brief CBitmapTex
+ * \date 2012-08-22 08:56GMT
+ * \author Jan Boon (Kaetemi)
+ * CBitmapTex
+ */
+class CBitmapTex : public CTexmap
+{
+public:
+ CBitmapTex();
+ virtual ~CBitmapTex();
+
+}; /* class CBitmapTex */
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+#endif /* #ifndef PIPELINE_BITMAP_TEX_H */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/builtin.cpp b/code/nel/tools/pipeline/max/builtin/builtin.cpp
new file mode 100644
index 000000000..214c03d12
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/builtin.cpp
@@ -0,0 +1,59 @@
+/**
+ * \file builtin.cpp
+ * \brief CBuiltin
+ * \date 2012-08-22 09:42GMT
+ * \author Jan Boon (Kaetemi)
+ * CBuiltin
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#include
+#include "builtin.h"
+
+// STL includes
+
+// NeL includes
+// #include
+
+// Project includes
+
+// using namespace std;
+// using namespace NLMISC;
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+CBuiltin::CBuiltin()
+{
+
+}
+
+CBuiltin::~CBuiltin()
+{
+
+}
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/builtin.h b/code/nel/tools/pipeline/max/builtin/builtin.h
new file mode 100644
index 000000000..7be92195b
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/builtin.h
@@ -0,0 +1,66 @@
+/**
+ * \file builtin.h
+ * \brief CBuiltin
+ * \date 2012-08-22 09:42GMT
+ * \author Jan Boon (Kaetemi)
+ * CBuiltin
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#ifndef PIPELINE_BUILTIN_H
+#define PIPELINE_BUILTIN_H
+#include
+
+// STL includes
+
+// NeL includes
+
+// Project includes
+#include "../scene_class_registry.h"
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+/**
+ * \brief CBuiltin
+ * \date 2012-08-22 09:42GMT
+ * \author Jan Boon (Kaetemi)
+ * CBuiltin
+ */
+class CBuiltin
+{
+public:
+ static void registerClasses(CSceneClassRegistry *registry);
+
+private:
+ CBuiltin();
+ virtual ~CBuiltin();
+
+}; /* class CBuiltin */
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+#endif /* #ifndef PIPELINE_BUILTIN_H */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/geom_object.cpp b/code/nel/tools/pipeline/max/builtin/geom_object.cpp
new file mode 100644
index 000000000..1c1ccdaca
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/geom_object.cpp
@@ -0,0 +1,59 @@
+/**
+ * \file geom_object.cpp
+ * \brief CGeomObject
+ * \date 2012-08-22 08:58GMT
+ * \author Jan Boon (Kaetemi)
+ * CGeomObject
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#include
+#include "geom_object.h"
+
+// STL includes
+
+// NeL includes
+// #include
+
+// Project includes
+
+using namespace std;
+// using namespace NLMISC;
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+CGeomObject::CGeomObject()
+{
+
+}
+
+CGeomObject::~CGeomObject()
+{
+
+}
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/geom_object.h b/code/nel/tools/pipeline/max/builtin/geom_object.h
new file mode 100644
index 000000000..7666f3065
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/geom_object.h
@@ -0,0 +1,67 @@
+/**
+ * \file geom_object.h
+ * \brief CGeomObject
+ * \date 2012-08-22 08:58GMT
+ * \author Jan Boon (Kaetemi)
+ * CGeomObject
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#ifndef PIPELINE_GEOM_OBJECT_H
+#define PIPELINE_GEOM_OBJECT_H
+#include
+
+// STL includes
+
+// NeL includes
+
+// Project includes
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+/**
+ * \brief CGeomObject
+ * \date 2012-08-22 08:58GMT
+ * \author Jan Boon (Kaetemi)
+ * CGeomObject
+ */
+class CGeomObject
+{
+protected:
+ // pointers
+ // ...
+
+ // instances
+ // ...
+public:
+ CGeomObject();
+ virtual ~CGeomObject();
+}; /* class CGeomObject */
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+#endif /* #ifndef PIPELINE_GEOM_OBJECT_H */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/modifier.cpp b/code/nel/tools/pipeline/max/builtin/modifier.cpp
new file mode 100644
index 000000000..77a4d9f0b
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/modifier.cpp
@@ -0,0 +1,59 @@
+/**
+ * \file modifier.cpp
+ * \brief CModifier
+ * \date 2012-08-22 08:59GMT
+ * \author Jan Boon (Kaetemi)
+ * CModifier
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#include
+#include "modifier.h"
+
+// STL includes
+
+// NeL includes
+// #include
+
+// Project includes
+
+using namespace std;
+// using namespace NLMISC;
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+CModifier::CModifier()
+{
+
+}
+
+CModifier::~CModifier()
+{
+
+}
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/modifier.h b/code/nel/tools/pipeline/max/builtin/modifier.h
new file mode 100644
index 000000000..3b25abdeb
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/modifier.h
@@ -0,0 +1,63 @@
+/**
+ * \file modifier.h
+ * \brief CModifier
+ * \date 2012-08-22 08:59GMT
+ * \author Jan Boon (Kaetemi)
+ * CModifier
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#ifndef PIPELINE_MODIFIER_H
+#define PIPELINE_MODIFIER_H
+#include
+
+// STL includes
+
+// NeL includes
+
+// Project includes
+#include "base_object.h"
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+/**
+ * \brief CModifier
+ * \date 2012-08-22 08:59GMT
+ * \author Jan Boon (Kaetemi)
+ * CModifier
+ */
+class CModifier : public CBaseObject
+{
+public:
+ CModifier();
+ virtual ~CModifier();
+
+}; /* class CModifier */
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+#endif /* #ifndef PIPELINE_MODIFIER_H */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/mtl.cpp b/code/nel/tools/pipeline/max/builtin/mtl.cpp
new file mode 100644
index 000000000..d27fe59b8
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/mtl.cpp
@@ -0,0 +1,59 @@
+/**
+ * \file mtl.cpp
+ * \brief CMtl
+ * \date 2012-08-22 08:54GMT
+ * \author Jan Boon (Kaetemi)
+ * CMtl
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#include
+#include "mtl.h"
+
+// STL includes
+
+// NeL includes
+// #include
+
+// Project includes
+
+using namespace std;
+// using namespace NLMISC;
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+CMtl::CMtl()
+{
+
+}
+
+CMtl::~CMtl()
+{
+
+}
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/mtl.h b/code/nel/tools/pipeline/max/builtin/mtl.h
new file mode 100644
index 000000000..1b6726f05
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/mtl.h
@@ -0,0 +1,63 @@
+/**
+ * \file mtl.h
+ * \brief CMtl
+ * \date 2012-08-22 08:54GMT
+ * \author Jan Boon (Kaetemi)
+ * CMtl
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#ifndef PIPELINE_MTL_H
+#define PIPELINE_MTL_H
+#include
+
+// STL includes
+
+// NeL includes
+
+// Project includes
+#include "mtl_base.h"
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+/**
+ * \brief CMtl
+ * \date 2012-08-22 08:54GMT
+ * \author Jan Boon (Kaetemi)
+ * CMtl
+ */
+class CMtl : public CMtlBase
+{
+public:
+ CMtl();
+ virtual ~CMtl();
+
+}; /* class CMtl */
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+#endif /* #ifndef PIPELINE_MTL_H */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/mtl_base.cpp b/code/nel/tools/pipeline/max/builtin/mtl_base.cpp
new file mode 100644
index 000000000..fb2c5de66
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/mtl_base.cpp
@@ -0,0 +1,59 @@
+/**
+ * \file mtl_base.cpp
+ * \brief CMtlBase
+ * \date 2012-08-22 08:53GMT
+ * \author Jan Boon (Kaetemi)
+ * CMtlBase
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#include
+#include "mtl_base.h"
+
+// STL includes
+
+// NeL includes
+// #include
+
+// Project includes
+
+using namespace std;
+// using namespace NLMISC;
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+CMtlBase::CMtlBase()
+{
+
+}
+
+CMtlBase::~CMtlBase()
+{
+
+}
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/mtl_base.h b/code/nel/tools/pipeline/max/builtin/mtl_base.h
new file mode 100644
index 000000000..72b311473
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/mtl_base.h
@@ -0,0 +1,63 @@
+/**
+ * \file mtl_base.h
+ * \brief CMtlBase
+ * \date 2012-08-22 08:53GMT
+ * \author Jan Boon (Kaetemi)
+ * CMtlBase
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#ifndef PIPELINE_MTL_BASE_H
+#define PIPELINE_MTL_BASE_H
+#include
+
+// STL includes
+
+// NeL includes
+
+// Project includes
+#include "reference_target.h"
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+/**
+ * \brief CMtlBase
+ * \date 2012-08-22 08:53GMT
+ * \author Jan Boon (Kaetemi)
+ * CMtlBase
+ */
+class CMtlBase : public CReferenceTarget
+{
+public:
+ CMtlBase();
+ virtual ~CMtlBase();
+
+}; /* class CMtlBase */
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+#endif /* #ifndef PIPELINE_MTL_BASE_H */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/multi_mtl.cpp b/code/nel/tools/pipeline/max/builtin/multi_mtl.cpp
new file mode 100644
index 000000000..ca9c8c9d2
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/multi_mtl.cpp
@@ -0,0 +1,59 @@
+/**
+ * \file multi_mtl.cpp
+ * \brief CMultiMtl
+ * \date 2012-08-22 08:55GMT
+ * \author Jan Boon (Kaetemi)
+ * CMultiMtl
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#include
+#include "multi_mtl.h"
+
+// STL includes
+
+// NeL includes
+// #include
+
+// Project includes
+
+using namespace std;
+// using namespace NLMISC;
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+CMultiMtl::CMultiMtl()
+{
+
+}
+
+CMultiMtl::~CMultiMtl()
+{
+
+}
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/multi_mtl.h b/code/nel/tools/pipeline/max/builtin/multi_mtl.h
new file mode 100644
index 000000000..6cfe11ab2
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/multi_mtl.h
@@ -0,0 +1,67 @@
+/**
+ * \file multi_mtl.h
+ * \brief CMultiMtl
+ * \date 2012-08-22 08:55GMT
+ * \author Jan Boon (Kaetemi)
+ * CMultiMtl
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#ifndef PIPELINE_MULTI_MTL_H
+#define PIPELINE_MULTI_MTL_H
+#include
+
+// STL includes
+
+// NeL includes
+
+// Project includes
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+/**
+ * \brief CMultiMtl
+ * \date 2012-08-22 08:55GMT
+ * \author Jan Boon (Kaetemi)
+ * CMultiMtl
+ */
+class CMultiMtl
+{
+protected:
+ // pointers
+ // ...
+
+ // instances
+ // ...
+public:
+ CMultiMtl();
+ virtual ~CMultiMtl();
+}; /* class CMultiMtl */
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+#endif /* #ifndef PIPELINE_MULTI_MTL_H */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/node.cpp b/code/nel/tools/pipeline/max/builtin/node.cpp
new file mode 100644
index 000000000..73bd9d09c
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/node.cpp
@@ -0,0 +1,59 @@
+/**
+ * \file node.cpp
+ * \brief CNode
+ * \date 2012-08-22 08:57GMT
+ * \author Jan Boon (Kaetemi)
+ * CNode
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#include
+#include "node.h"
+
+// STL includes
+
+// NeL includes
+// #include
+
+// Project includes
+
+using namespace std;
+// using namespace NLMISC;
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+CNode::CNode()
+{
+
+}
+
+CNode::~CNode()
+{
+
+}
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/node.h b/code/nel/tools/pipeline/max/builtin/node.h
new file mode 100644
index 000000000..d44779fc4
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/node.h
@@ -0,0 +1,63 @@
+/**
+ * \file node.h
+ * \brief CNode
+ * \date 2012-08-22 08:57GMT
+ * \author Jan Boon (Kaetemi)
+ * CNode
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#ifndef PIPELINE_NODE_H
+#define PIPELINE_NODE_H
+#include
+
+// STL includes
+
+// NeL includes
+
+// Project includes
+#include "reference_target.h"
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+/**
+ * \brief CNode
+ * \date 2012-08-22 08:57GMT
+ * \author Jan Boon (Kaetemi)
+ * CNode
+ */
+class CNode : public CReferenceTarget
+{
+public:
+ CNode();
+ virtual ~CNode();
+
+}; /* class CNode */
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+#endif /* #ifndef PIPELINE_NODE_H */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/object.cpp b/code/nel/tools/pipeline/max/builtin/object.cpp
new file mode 100644
index 000000000..d9c79e823
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/object.cpp
@@ -0,0 +1,59 @@
+/**
+ * \file object.cpp
+ * \brief CObject
+ * \date 2012-08-22 09:13GMT
+ * \author Jan Boon (Kaetemi)
+ * CObject
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#include
+#include "object.h"
+
+// STL includes
+
+// NeL includes
+// #include
+
+// Project includes
+
+using namespace std;
+// using namespace NLMISC;
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+CObject::CObject()
+{
+
+}
+
+CObject::~CObject()
+{
+
+}
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/object.h b/code/nel/tools/pipeline/max/builtin/object.h
new file mode 100644
index 000000000..0ca7e3db2
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/object.h
@@ -0,0 +1,63 @@
+/**
+ * \file object.h
+ * \brief CObject
+ * \date 2012-08-22 09:13GMT
+ * \author Jan Boon (Kaetemi)
+ * CObject
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#ifndef PIPELINE_OBJECT_H
+#define PIPELINE_OBJECT_H
+#include
+
+// STL includes
+
+// NeL includes
+
+// Project includes
+#include "base_object.h"
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+/**
+ * \brief CObject
+ * \date 2012-08-22 09:13GMT
+ * \author Jan Boon (Kaetemi)
+ * CObject
+ */
+class CObject : public CBaseObject
+{
+public:
+ CObject();
+ virtual ~CObject();
+
+}; /* class CObject */
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+#endif /* #ifndef PIPELINE_OBJECT_H */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/param_block.cpp b/code/nel/tools/pipeline/max/builtin/param_block.cpp
new file mode 100644
index 000000000..9552cb8be
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/param_block.cpp
@@ -0,0 +1,59 @@
+/**
+ * \file param_block.cpp
+ * \brief CParamBlock
+ * \date 2012-08-22 08:57GMT
+ * \author Jan Boon (Kaetemi)
+ * CParamBlock
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#include
+#include "param_block.h"
+
+// STL includes
+
+// NeL includes
+// #include
+
+// Project includes
+
+using namespace std;
+// using namespace NLMISC;
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+CParamBlock::CParamBlock()
+{
+
+}
+
+CParamBlock::~CParamBlock()
+{
+
+}
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/param_block.h b/code/nel/tools/pipeline/max/builtin/param_block.h
new file mode 100644
index 000000000..c368d0627
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/param_block.h
@@ -0,0 +1,63 @@
+/**
+ * \file param_block.h
+ * \brief CParamBlock
+ * \date 2012-08-22 08:57GMT
+ * \author Jan Boon (Kaetemi)
+ * CParamBlock
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#ifndef PIPELINE_PARAM_BLOCK_H
+#define PIPELINE_PARAM_BLOCK_H
+#include
+
+// STL includes
+
+// NeL includes
+
+// Project includes
+#include "reference_target.h"
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+/**
+ * \brief CParamBlock
+ * \date 2012-08-22 08:57GMT
+ * \author Jan Boon (Kaetemi)
+ * CParamBlock
+ */
+class CParamBlock : public CReferenceTarget
+{
+public:
+ CParamBlock();
+ virtual ~CParamBlock();
+
+}; /* class CParamBlock */
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+#endif /* #ifndef PIPELINE_PARAM_BLOCK_H */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/param_block_2.cpp b/code/nel/tools/pipeline/max/builtin/param_block_2.cpp
new file mode 100644
index 000000000..273931ecb
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/param_block_2.cpp
@@ -0,0 +1,59 @@
+/**
+ * \file param_block_2.cpp
+ * \brief CParamBlock2
+ * \date 2012-08-22 08:57GMT
+ * \author Jan Boon (Kaetemi)
+ * CParamBlock2
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#include
+#include "param_block_2.h"
+
+// STL includes
+
+// NeL includes
+// #include
+
+// Project includes
+
+using namespace std;
+// using namespace NLMISC;
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+CParamBlock2::CParamBlock2()
+{
+
+}
+
+CParamBlock2::~CParamBlock2()
+{
+
+}
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/param_block_2.h b/code/nel/tools/pipeline/max/builtin/param_block_2.h
new file mode 100644
index 000000000..ab26263be
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/param_block_2.h
@@ -0,0 +1,63 @@
+/**
+ * \file param_block_2.h
+ * \brief CParamBlock2
+ * \date 2012-08-22 08:57GMT
+ * \author Jan Boon (Kaetemi)
+ * CParamBlock2
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#ifndef PIPELINE_PARAM_BLOCK_2_H
+#define PIPELINE_PARAM_BLOCK_2_H
+#include
+
+// STL includes
+
+// NeL includes
+
+// Project includes
+#include "reference_target.h"
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+/**
+ * \brief CParamBlock2
+ * \date 2012-08-22 08:57GMT
+ * \author Jan Boon (Kaetemi)
+ * CParamBlock2
+ */
+class CParamBlock2 : public CReferenceTarget
+{
+public:
+ CParamBlock2();
+ virtual ~CParamBlock2();
+
+}; /* class CParamBlock2 */
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+#endif /* #ifndef PIPELINE_PARAM_BLOCK_2_H */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/patch_object.cpp b/code/nel/tools/pipeline/max/builtin/patch_object.cpp
new file mode 100644
index 000000000..8f9163457
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/patch_object.cpp
@@ -0,0 +1,59 @@
+/**
+ * \file patch_object.cpp
+ * \brief CPatchObject
+ * \date 2012-08-22 08:58GMT
+ * \author Jan Boon (Kaetemi)
+ * CPatchObject
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#include
+#include "patch_object.h"
+
+// STL includes
+
+// NeL includes
+// #include
+
+// Project includes
+
+using namespace std;
+// using namespace NLMISC;
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+CPatchObject::CPatchObject()
+{
+
+}
+
+CPatchObject::~CPatchObject()
+{
+
+}
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/patch_object.h b/code/nel/tools/pipeline/max/builtin/patch_object.h
new file mode 100644
index 000000000..4c158e20d
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/patch_object.h
@@ -0,0 +1,63 @@
+/**
+ * \file patch_object.h
+ * \brief CPatchObject
+ * \date 2012-08-22 08:58GMT
+ * \author Jan Boon (Kaetemi)
+ * CPatchObject
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#ifndef PIPELINE_PATCH_OBJECT_H
+#define PIPELINE_PATCH_OBJECT_H
+#include
+
+// STL includes
+
+// NeL includes
+
+// Project includes
+#include "object.h"
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+/**
+ * \brief CPatchObject
+ * \date 2012-08-22 08:58GMT
+ * \author Jan Boon (Kaetemi)
+ * CPatchObject
+ */
+class CPatchObject : public CObject
+{
+public:
+ CPatchObject();
+ virtual ~CPatchObject();
+
+}; /* class CPatchObject */
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+#endif /* #ifndef PIPELINE_PATCH_OBJECT_H */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/poly_object.cpp b/code/nel/tools/pipeline/max/builtin/poly_object.cpp
new file mode 100644
index 000000000..0c22d16ff
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/poly_object.cpp
@@ -0,0 +1,59 @@
+/**
+ * \file poly_object.cpp
+ * \brief CPolyObject
+ * \date 2012-08-22 08:58GMT
+ * \author Jan Boon (Kaetemi)
+ * CPolyObject
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#include
+#include "poly_object.h"
+
+// STL includes
+
+// NeL includes
+// #include
+
+// Project includes
+
+using namespace std;
+// using namespace NLMISC;
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+CPolyObject::CPolyObject()
+{
+
+}
+
+CPolyObject::~CPolyObject()
+{
+
+}
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/poly_object.h b/code/nel/tools/pipeline/max/builtin/poly_object.h
new file mode 100644
index 000000000..52df5b44c
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/poly_object.h
@@ -0,0 +1,63 @@
+/**
+ * \file poly_object.h
+ * \brief CPolyObject
+ * \date 2012-08-22 08:58GMT
+ * \author Jan Boon (Kaetemi)
+ * CPolyObject
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#ifndef PIPELINE_POLY_OBJECT_H
+#define PIPELINE_POLY_OBJECT_H
+#include
+
+// STL includes
+
+// NeL includes
+
+// Project includes
+#include "object.h"
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+/**
+ * \brief CPolyObject
+ * \date 2012-08-22 08:58GMT
+ * \author Jan Boon (Kaetemi)
+ * CPolyObject
+ */
+class CPolyObject : public CObject
+{
+public:
+ CPolyObject();
+ virtual ~CPolyObject();
+
+}; /* class CPolyObject */
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+#endif /* #ifndef PIPELINE_POLY_OBJECT_H */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/reference_maker.cpp b/code/nel/tools/pipeline/max/builtin/reference_maker.cpp
new file mode 100644
index 000000000..f955760a0
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/reference_maker.cpp
@@ -0,0 +1,59 @@
+/**
+ * \file reference_maker.cpp
+ * \brief CReferenceMaker
+ * \date 2012-08-22 08:52GMT
+ * \author Jan Boon (Kaetemi)
+ * CReferenceMaker
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#include
+#include "reference_maker.h"
+
+// STL includes
+
+// NeL includes
+// #include
+
+// Project includes
+
+using namespace std;
+// using namespace NLMISC;
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+CReferenceMaker::CReferenceMaker()
+{
+
+}
+
+CReferenceMaker::~CReferenceMaker()
+{
+
+}
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/reference_maker.h b/code/nel/tools/pipeline/max/builtin/reference_maker.h
new file mode 100644
index 000000000..93c72dbd6
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/reference_maker.h
@@ -0,0 +1,63 @@
+/**
+ * \file reference_maker.h
+ * \brief CReferenceMaker
+ * \date 2012-08-22 08:52GMT
+ * \author Jan Boon (Kaetemi)
+ * CReferenceMaker
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#ifndef PIPELINE_REFERENCE_MAKER_H
+#define PIPELINE_REFERENCE_MAKER_H
+#include
+
+// STL includes
+
+// NeL includes
+
+// Project includes
+#include "animatable.h"
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+/**
+ * \brief CReferenceMaker
+ * \date 2012-08-22 08:52GMT
+ * \author Jan Boon (Kaetemi)
+ * This class implements references
+ */
+class CReferenceMaker : public CAnimatable
+{
+public:
+ CReferenceMaker();
+ virtual ~CReferenceMaker();
+
+}; /* class CReferenceMaker */
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+#endif /* #ifndef PIPELINE_REFERENCE_MAKER_H */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/reference_target.cpp b/code/nel/tools/pipeline/max/builtin/reference_target.cpp
new file mode 100644
index 000000000..12d677894
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/reference_target.cpp
@@ -0,0 +1,59 @@
+/**
+ * \file reference_target.cpp
+ * \brief CReferenceTarget
+ * \date 2012-08-22 08:53GMT
+ * \author Jan Boon (Kaetemi)
+ * CReferenceTarget
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#include
+#include "reference_target.h"
+
+// STL includes
+
+// NeL includes
+// #include
+
+// Project includes
+
+using namespace std;
+// using namespace NLMISC;
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+CReferenceTarget::CReferenceTarget()
+{
+
+}
+
+CReferenceTarget::~CReferenceTarget()
+{
+
+}
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/reference_target.h b/code/nel/tools/pipeline/max/builtin/reference_target.h
new file mode 100644
index 000000000..3a959f0c4
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/reference_target.h
@@ -0,0 +1,63 @@
+/**
+ * \file reference_target.h
+ * \brief CReferenceTarget
+ * \date 2012-08-22 08:53GMT
+ * \author Jan Boon (Kaetemi)
+ * CReferenceTarget
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#ifndef PIPELINE_REFERENCE_TARGET_H
+#define PIPELINE_REFERENCE_TARGET_H
+#include
+
+// STL includes
+
+// NeL includes
+
+// Project includes
+#include "reference_maker.h"
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+/**
+ * \brief CReferenceTarget
+ * \date 2012-08-22 08:53GMT
+ * \author Jan Boon (Kaetemi)
+ * This is a dummy class
+ */
+class CReferenceTarget : public CReferenceMaker
+{
+public:
+ CReferenceTarget();
+ virtual ~CReferenceTarget();
+
+}; /* class CReferenceTarget */
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+#endif /* #ifndef PIPELINE_REFERENCE_TARGET_H */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/std_mat.cpp b/code/nel/tools/pipeline/max/builtin/std_mat.cpp
new file mode 100644
index 000000000..5903f7777
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/std_mat.cpp
@@ -0,0 +1,59 @@
+/**
+ * \file std_mat.cpp
+ * \brief CStdMat
+ * \date 2012-08-22 08:55GMT
+ * \author Jan Boon (Kaetemi)
+ * CStdMat
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#include
+#include "std_mat.h"
+
+// STL includes
+
+// NeL includes
+// #include
+
+// Project includes
+
+using namespace std;
+// using namespace NLMISC;
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+CStdMat::CStdMat()
+{
+
+}
+
+CStdMat::~CStdMat()
+{
+
+}
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/std_mat.h b/code/nel/tools/pipeline/max/builtin/std_mat.h
new file mode 100644
index 000000000..61dbfb099
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/std_mat.h
@@ -0,0 +1,63 @@
+/**
+ * \file std_mat.h
+ * \brief CStdMat
+ * \date 2012-08-22 08:55GMT
+ * \author Jan Boon (Kaetemi)
+ * CStdMat
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#ifndef PIPELINE_STD_MAT_H
+#define PIPELINE_STD_MAT_H
+#include
+
+// STL includes
+
+// NeL includes
+
+// Project includes
+#include "mtl.h"
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+/**
+ * \brief CStdMat
+ * \date 2012-08-22 08:55GMT
+ * \author Jan Boon (Kaetemi)
+ * CStdMat
+ */
+class CStdMat : public CMtl
+{
+public:
+ CStdMat();
+ virtual ~CStdMat();
+
+}; /* class CStdMat */
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+#endif /* #ifndef PIPELINE_STD_MAT_H */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/std_mat_2.cpp b/code/nel/tools/pipeline/max/builtin/std_mat_2.cpp
new file mode 100644
index 000000000..c568f01fa
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/std_mat_2.cpp
@@ -0,0 +1,59 @@
+/**
+ * \file std_mat_2.cpp
+ * \brief CStdMat2
+ * \date 2012-08-22 08:55GMT
+ * \author Jan Boon (Kaetemi)
+ * CStdMat2
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#include
+#include "std_mat_2.h"
+
+// STL includes
+
+// NeL includes
+// #include
+
+// Project includes
+
+using namespace std;
+// using namespace NLMISC;
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+CStdMat2::CStdMat2()
+{
+
+}
+
+CStdMat2::~CStdMat2()
+{
+
+}
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/std_mat_2.h b/code/nel/tools/pipeline/max/builtin/std_mat_2.h
new file mode 100644
index 000000000..3576eed90
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/std_mat_2.h
@@ -0,0 +1,68 @@
+/**
+ * \file std_mat_2.h
+ * \brief CStdMat2
+ * \date 2012-08-22 08:55GMT
+ * \author Jan Boon (Kaetemi)
+ * CStdMat2
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#ifndef PIPELINE_STD_MAT_2_H
+#define PIPELINE_STD_MAT_2_H
+#include
+
+// STL includes
+
+// NeL includes
+
+// Project includes
+#include "std_mat.h"
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+/**
+ * \brief CStdMat2
+ * \date 2012-08-22 08:55GMT
+ * \author Jan Boon (Kaetemi)
+ * CStdMat2
+ */
+class CStdMat2 : public CStdMat
+{
+protected:
+ // pointers
+ // ...
+
+ // instances
+ // ...
+public:
+ CStdMat2();
+ virtual ~CStdMat2();
+}; /* class CStdMat2 */
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+#endif /* #ifndef PIPELINE_STD_MAT_2_H */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/app_data.cpp b/code/nel/tools/pipeline/max/builtin/storage/app_data.cpp
similarity index 99%
rename from code/nel/tools/pipeline/max/builtin/app_data.cpp
rename to code/nel/tools/pipeline/max/builtin/storage/app_data.cpp
index 68f9cff71..f0a465b1b 100644
--- a/code/nel/tools/pipeline/max/builtin/app_data.cpp
+++ b/code/nel/tools/pipeline/max/builtin/storage/app_data.cpp
@@ -40,6 +40,8 @@ using namespace std;
namespace PIPELINE {
namespace MAX {
+namespace BUILTIN {
+namespace STORAGE {
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
@@ -467,6 +469,8 @@ IStorageObject *CAppDataEntry::createChunkById(uint16 id, bool container)
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
+} /* namespace STORAGE */
+} /* namespace BUILTIN */
} /* namespace MAX */
} /* namespace PIPELINE */
diff --git a/code/nel/tools/pipeline/max/builtin/app_data.h b/code/nel/tools/pipeline/max/builtin/storage/app_data.h
similarity index 96%
rename from code/nel/tools/pipeline/max/builtin/app_data.h
rename to code/nel/tools/pipeline/max/builtin/storage/app_data.h
index 6b4a48664..ac08f09f5 100644
--- a/code/nel/tools/pipeline/max/builtin/app_data.h
+++ b/code/nel/tools/pipeline/max/builtin/storage/app_data.h
@@ -35,12 +35,14 @@
#include
// Project includes
-#include "../typedefs.h"
-#include "../storage_object.h"
-#include "../storage_value.h"
+#include "../../typedefs.h"
+#include "../../storage_object.h"
+#include "../../storage_value.h"
namespace PIPELINE {
namespace MAX {
+namespace BUILTIN {
+namespace STORAGE {
#define NLMAXFILE_APP_DATA_CHUNK_ID 0x2150
@@ -169,6 +171,8 @@ private:
}; /* class CAppDataEntry */
+} /* namespace STORAGE */
+} /* namespace BUILTIN */
} /* namespace MAX */
} /* namespace PIPELINE */
diff --git a/code/nel/tools/pipeline/max/builtin/super_class_unknown.cpp b/code/nel/tools/pipeline/max/builtin/super_class_unknown.cpp
new file mode 100644
index 000000000..da0c38ae0
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/super_class_unknown.cpp
@@ -0,0 +1,59 @@
+/**
+ * \file super_class_unknown.cpp
+ * \brief CSuperClassUnknown
+ * \date 2012-08-22 08:59GMT
+ * \author Jan Boon (Kaetemi)
+ * CSuperClassUnknown
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#include
+#include "super_class_unknown.h"
+
+// STL includes
+
+// NeL includes
+// #include
+
+// Project includes
+
+using namespace std;
+// using namespace NLMISC;
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+CSuperClassUnknown::CSuperClassUnknown()
+{
+
+}
+
+CSuperClassUnknown::~CSuperClassUnknown()
+{
+
+}
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/super_class_unknown.h b/code/nel/tools/pipeline/max/builtin/super_class_unknown.h
new file mode 100644
index 000000000..81944aec7
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/super_class_unknown.h
@@ -0,0 +1,67 @@
+/**
+ * \file super_class_unknown.h
+ * \brief CSuperClassUnknown
+ * \date 2012-08-22 08:59GMT
+ * \author Jan Boon (Kaetemi)
+ * CSuperClassUnknown
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#ifndef PIPELINE_SUPER_CLASS_UNKNOWN_H
+#define PIPELINE_SUPER_CLASS_UNKNOWN_H
+#include
+
+// STL includes
+
+// NeL includes
+
+// Project includes
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+/**
+ * \brief CSuperClassUnknown
+ * \date 2012-08-22 08:59GMT
+ * \author Jan Boon (Kaetemi)
+ * CSuperClassUnknown
+ */
+class CSuperClassUnknown
+{
+protected:
+ // pointers
+ // ...
+
+ // instances
+ // ...
+public:
+ CSuperClassUnknown();
+ virtual ~CSuperClassUnknown();
+}; /* class CSuperClassUnknown */
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+#endif /* #ifndef PIPELINE_SUPER_CLASS_UNKNOWN_H */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/texmap.cpp b/code/nel/tools/pipeline/max/builtin/texmap.cpp
new file mode 100644
index 000000000..95da4ba9c
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/texmap.cpp
@@ -0,0 +1,59 @@
+/**
+ * \file texmap.cpp
+ * \brief CTexmap
+ * \date 2012-08-22 08:56GMT
+ * \author Jan Boon (Kaetemi)
+ * CTexmap
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#include
+#include "texmap.h"
+
+// STL includes
+
+// NeL includes
+// #include
+
+// Project includes
+
+using namespace std;
+// using namespace NLMISC;
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+CTexmap::CTexmap()
+{
+
+}
+
+CTexmap::~CTexmap()
+{
+
+}
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/texmap.h b/code/nel/tools/pipeline/max/builtin/texmap.h
new file mode 100644
index 000000000..903255e44
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/texmap.h
@@ -0,0 +1,63 @@
+/**
+ * \file texmap.h
+ * \brief CTexmap
+ * \date 2012-08-22 08:56GMT
+ * \author Jan Boon (Kaetemi)
+ * CTexmap
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#ifndef PIPELINE_TEXMAP_H
+#define PIPELINE_TEXMAP_H
+#include
+
+// STL includes
+
+// NeL includes
+
+// Project includes
+#include "mtl_base.h"
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+/**
+ * \brief CTexmap
+ * \date 2012-08-22 08:56GMT
+ * \author Jan Boon (Kaetemi)
+ * CTexmap
+ */
+class CTexmap : public CMtlBase
+{
+public:
+ CTexmap();
+ virtual ~CTexmap();
+
+}; /* class CTexmap */
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+#endif /* #ifndef PIPELINE_TEXMAP_H */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/tri_object.cpp b/code/nel/tools/pipeline/max/builtin/tri_object.cpp
new file mode 100644
index 000000000..3a53b7f62
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/tri_object.cpp
@@ -0,0 +1,59 @@
+/**
+ * \file tri_object.cpp
+ * \brief CTriObject
+ * \date 2012-08-22 08:58GMT
+ * \author Jan Boon (Kaetemi)
+ * CTriObject
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#include
+#include "tri_object.h"
+
+// STL includes
+
+// NeL includes
+// #include
+
+// Project includes
+
+using namespace std;
+// using namespace NLMISC;
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+CTriObject::CTriObject()
+{
+
+}
+
+CTriObject::~CTriObject()
+{
+
+}
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/builtin/tri_object.h b/code/nel/tools/pipeline/max/builtin/tri_object.h
new file mode 100644
index 000000000..4dda7794a
--- /dev/null
+++ b/code/nel/tools/pipeline/max/builtin/tri_object.h
@@ -0,0 +1,64 @@
+/**
+ * \file tri_object.h
+ * \brief CTriObject
+ * \date 2012-08-22 08:58GMT
+ * \author Jan Boon (Kaetemi)
+ * CTriObject
+ */
+
+/*
+ * Copyright (C) 2012 by authors
+ *
+ * This file is part of RYZOM CORE PIPELINE.
+ * RYZOM CORE PIPELINE is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Affero General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * RYZOM CORE PIPELINE is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with RYZOM CORE PIPELINE. If not, see
+ * .
+ */
+
+#ifndef PIPELINE_TRI_OBJECT_H
+#define PIPELINE_TRI_OBJECT_H
+#include
+
+// STL includes
+
+// NeL includes
+
+// Project includes
+#include "object.h"
+
+namespace PIPELINE {
+namespace MAX {
+namespace BUILTIN {
+
+/**
+ * \brief CTriObject
+ * \date 2012-08-22 08:58GMT
+ * \author Jan Boon (Kaetemi)
+ * CTriObject
+ */
+class CTriObject : public CObject
+{
+
+public:
+ CTriObject();
+ virtual ~CTriObject();
+
+}; /* class CTriObject */
+
+} /* namespace BUILTIN */
+} /* namespace MAX */
+} /* namespace PIPELINE */
+
+#endif /* #ifndef PIPELINE_TRI_OBJECT_H */
+
+/* end of file */
diff --git a/code/nel/tools/pipeline/max/scene_class.cpp b/code/nel/tools/pipeline/max/scene_class.cpp
index 4eb645c80..891c65bed 100644
--- a/code/nel/tools/pipeline/max/scene_class.cpp
+++ b/code/nel/tools/pipeline/max/scene_class.cpp
@@ -37,7 +37,7 @@
// Project includes
// Temporary project includes
-#include "builtin/app_data.h"
+#include "builtin/storage/app_data.h"
using namespace std;
// using namespace NLMISC;
@@ -76,7 +76,7 @@ CSceneClass::~CSceneClass()
std::string CSceneClass::getClassName()
{
- return getClassDesc()->internalName();
+ return classDesc()->internalName();
}
void CSceneClass::toString(std::ostream &ostream, const std::string &pad)
@@ -87,7 +87,7 @@ void CSceneClass::toString(std::ostream &ostream, const std::string &pad)
}
else
{
- ostream << "(" << getClassName() << ": " << ucstring(getClassDesc()->displayName()).toUtf8() << ", " << getClassDesc()->classId().toString() << ", " << ucstring(getClassDesc()->dllPluginDesc()->internalName()).toUtf8() << ") [" << m_Chunks.size() << "] { ";
+ ostream << "(" << getClassName() << ": " << ucstring(classDesc()->displayName()).toUtf8() << ", " << classDesc()->classId().toString() << ", " << ucstring(classDesc()->dllPluginDesc()->internalName()).toUtf8() << ") [" << m_Chunks.size() << "] { ";
toStringLocal(ostream, pad);
ostream << "} ";
}
@@ -125,7 +125,6 @@ void CSceneClass::clean()
{
if (it->second->isContainer())
{
- nldebug("Cleaning orphan child");
static_cast(it->second)->clean();
}
}
@@ -177,7 +176,7 @@ IStorageObject *CSceneClass::createChunkById(uint16 id, bool container)
switch (id)
{
case NLMAXFILE_APP_DATA_CHUNK_ID:
- return new CAppData();
+ return new BUILTIN::STORAGE::CAppData();
}
return CStorageContainer::createChunkById(id, container);
}
@@ -191,7 +190,7 @@ namespace {
static const CSceneClassDesc SceneClassDesc(static_cast(&DllPluginDescBuiltin));
} /* anonymous namespace */
-const ISceneClassDesc *CSceneClass::getClassDesc()
+const ISceneClassDesc *CSceneClass::classDesc()
{
return static_cast(&SceneClassDesc);
}
diff --git a/code/nel/tools/pipeline/max/scene_class.h b/code/nel/tools/pipeline/max/scene_class.h
index 36673fd85..7c2d5cc7c 100644
--- a/code/nel/tools/pipeline/max/scene_class.h
+++ b/code/nel/tools/pipeline/max/scene_class.h
@@ -59,7 +59,7 @@ public:
//! \name Inherited functions that are implemented by wrapping around other virtual functions in this class
//@{
- virtual std::string getClassName(); // do not override, implemented using getClassDesc
+ virtual std::string getClassName(); // do not override, implemented using classDesc
virtual void toString(std::ostream &ostream, const std::string &pad = ""); // do not override, implemented using toStringLocal
//@}
@@ -88,7 +88,7 @@ public:
/// Initialize this class from scratch, call the parent first
virtual void init();
/// Return the class description of the inheriting class
- virtual const ISceneClassDesc *getClassDesc();
+ virtual const ISceneClassDesc *classDesc();
/// Create a readable representation of this class
virtual void toStringLocal(std::ostream &ostream, const std::string &pad = "") const;
//@}
@@ -160,6 +160,41 @@ private:
}; /* class CSceneClassDesc */
+/**
+ * \brief ISuperClassDesc
+ * \date 2012-08-22 09:42GMT
+ * \author Jan Boon (Kaetemi)
+ * ISuperClassDesc
+ */
+class ISuperClassDesc
+{
+public:
+ /// Create an unknown class that inherits from this superclass
+ virtual CSceneClass *createUnknown(const NLMISC::CClassId classId, const ucstring &displayName, const ucstring &dllFilename, const ucstring &dllDescription) const = 0;
+ /// Get an internal name associated with unknown classes of this superclass
+ virtual const char *internalNameUnknown() const = 0;
+ /// Return the class description that directly implements this superclass
+ virtual const ISceneClassDesc *classDesc() const = 0;
+
+}; /* class ISceneClassDesc */
+
+/**
+ * \brief CSuperClassDesc
+ * \date 2012-08-22 09:42GMT
+ * \author Jan Boon (Kaetemi)
+ * ISuperClassDesc
+ */
+template
+class CSuperClassDesc : public ISuperClassDesc
+{
+ CSuperClassDesc(const ISceneClassDesc *classDesc) : m_ClassDesc(classDesc) { }
+ virtual CSceneClass *createUnknown(const NLMISC::CClassId classId, const ucstring &displayName, const ucstring &dllFilename, const ucstring &dllDescription) const { return static_cast(new TUnknown(classId, displayName, dllFilename, dllDescription)); }
+ virtual const char *internalNameUnknown() const { return T::InternalNameUnknown; }
+ virtual const ISceneClassDesc *classDesc() const { return m_ClassDesc; }
+private:
+ const ISceneClassDesc *m_ClassDesc;
+}; /* class ISceneClassDesc */
+
} /* namespace MAX */
} /* namespace PIPELINE */
diff --git a/code/nel/tools/pipeline/max/scene_class_registry.cpp b/code/nel/tools/pipeline/max/scene_class_registry.cpp
index 16e3a71a5..6b03e2b5e 100644
--- a/code/nel/tools/pipeline/max/scene_class_registry.cpp
+++ b/code/nel/tools/pipeline/max/scene_class_registry.cpp
@@ -51,16 +51,58 @@ CSceneClassRegistry::~CSceneClassRegistry()
}
-//void CSceneClassRegistry::add(const NLMISC::CClassId, const ISceneClassDesc *desc);
-//void CSceneClassRegistry::remove(const NLMISC::CClassId);
+void CSceneClassRegistry::add(const ISceneClassDesc *desc)
+{
+ if (m_ClassDescriptions.find(desc->classId()) != m_ClassDescriptions.end()) { nlerror("Already added this class to the registry"); return; }
+ m_ClassDescriptions[desc->classId()] = desc;
+}
+
+void CSceneClassRegistry::remove(const NLMISC::CClassId classId)
+{
+ if (m_ClassDescriptions.find(classId) == m_ClassDescriptions.end()) { nlwarning("Try to remove class that is not found"); return; }
+ m_ClassDescriptions.erase(classId);
+}
-CSceneClass *CSceneClassRegistry::create(const NLMISC::CClassId classid) const
+/// Add a superclass to the registry
+void CSceneClassRegistry::add(const ISuperClassDesc *desc)
{
- return NULL; // TODO
+ if (m_SuperClassDescriptions.find(desc->classDesc()->superClassId()) == m_SuperClassDescriptions.end()) { nlerror("Already added this superclass to the registry"); return; }
+ m_SuperClassDescriptions[desc->classDesc()->superClassId()] = desc;
}
-//void CSceneClassRegistry::destroy(CSceneClass *sceneClass) const;
-//const CSceneClassRegistry::ISceneClassDesc *describe(const NLMISC::CClassId classid) const;
+/// Remove a superclass from the registry
+void CSceneClassRegistry::remove(const TSClassId superClassId)
+{
+ if (m_SuperClassDescriptions.find(superClassId) == m_SuperClassDescriptions.end()) { nlwarning("Try to remove superclass that is not found"); return; }
+ m_SuperClassDescriptions.erase(superClassId);
+}
+
+/// Create a class by class id
+CSceneClass *CSceneClassRegistry::create(const NLMISC::CClassId classId) const
+{
+ if (m_ClassDescriptions.find(classId) == m_ClassDescriptions.end()) { nldebug("Try to create class that does not exist"); return NULL; }
+ return m_ClassDescriptions.find(classId)->second->create();
+}
+
+/// Create an unknown class by superclass id
+CSceneClass *CSceneClassRegistry::createUnknown(const TSClassId superClassId, const NLMISC::CClassId classId, const ucstring &displayName, const ucstring &dllFilename, const ucstring &dllDescription) const
+{
+ if (m_ClassDescriptions.find(classId) == m_ClassDescriptions.end()) { nlwarning("Creating superclass that does not exist"); return NULL; }
+ return m_SuperClassDescriptions.find(classId)->second->createUnknown(classId, displayName, dllFilename, dllDescription);;
+}
+
+/// Destroy a class by pointer
+void CSceneClassRegistry::destroy(CSceneClass *sceneClass) const
+{
+ sceneClass->classDesc()->destroy(sceneClass);
+}
+
+/// Return the description of a class by class id
+const ISceneClassDesc *CSceneClassRegistry::describe(const NLMISC::CClassId classId) const
+{
+ if (m_ClassDescriptions.find(classId) == m_ClassDescriptions.end()) { nldebug("Try to describe class that does not exist"); return NULL; }
+ return m_ClassDescriptions.find(classId)->second;
+}
} /* namespace MAX */
} /* namespace PIPELINE */
diff --git a/code/nel/tools/pipeline/max/scene_class_registry.h b/code/nel/tools/pipeline/max/scene_class_registry.h
index 37b52ccf9..a7f5ce0e4 100644
--- a/code/nel/tools/pipeline/max/scene_class_registry.h
+++ b/code/nel/tools/pipeline/max/scene_class_registry.h
@@ -51,11 +51,31 @@ public:
CSceneClassRegistry();
virtual ~CSceneClassRegistry();
- void add(const NLMISC::CClassId, const ISceneClassDesc *desc);
- void remove(const NLMISC::CClassId);
- CSceneClass *create(const NLMISC::CClassId classid) const;
+ /// Add a class to the registry
+ void add(const ISceneClassDesc *desc);
+ /// Remove a class from the registry
+ void remove(const NLMISC::CClassId classId);
+
+ /// Add a superclass to the registry
+ void add(const ISuperClassDesc *desc);
+ /// Remove a superclass from the registry
+ void remove(const TSClassId superClassId);
+
+ /// Create a class by class id
+ CSceneClass *create(const NLMISC::CClassId classId) const;
+
+ /// Create an unknown class by superclass id
+ CSceneClass *createUnknown(const TSClassId superClassId, const NLMISC::CClassId classId, const ucstring &displayName, const ucstring &dllFilename, const ucstring &dllDescription) const;
+
+ /// Destroy a class by pointer
void destroy(CSceneClass *sceneClass) const;
- const ISceneClassDesc *describe(const NLMISC::CClassId classid) const;
+
+ /// Return the description of a class by class id
+ const ISceneClassDesc *describe(const NLMISC::CClassId classId) const;
+
+private:
+ std::map m_ClassDescriptions;
+ std::map m_SuperClassDescriptions;
}; /* class CSceneClassRegistry */
diff --git a/code/nel/tools/pipeline/max/scene_class_unknown.h b/code/nel/tools/pipeline/max/scene_class_unknown.h
index 177ef3ae8..925a54c71 100644
--- a/code/nel/tools/pipeline/max/scene_class_unknown.h
+++ b/code/nel/tools/pipeline/max/scene_class_unknown.h
@@ -101,7 +101,7 @@ public:
virtual ~CSceneClassUnknown() { }
// inherited
- virtual const ISceneClassDesc *getClassDesc() { return &m_Desc; }
+ virtual const ISceneClassDesc *classDesc() { return &m_Desc; }
private:
CSceneClassUnknownDesc m_Desc;
diff --git a/code/nel/tools/pipeline/max_dump/main.cpp b/code/nel/tools/pipeline/max_dump/main.cpp
index 63aeb353e..2940c5c84 100644
--- a/code/nel/tools/pipeline/max_dump/main.cpp
+++ b/code/nel/tools/pipeline/max_dump/main.cpp
@@ -28,10 +28,10 @@
#include "../max/scene_class_registry.h"
// Testing
-#include "../max/builtin/app_data.h"
+#include "../max/builtin/storage/app_data.h"
-//static const char *filename = "/srv/work/database/interfaces/anims_max/cp_fy_hof_species.max";
-static const char *filename = "/home/kaetemi/source/minimax/GE_Acc_MikotoBaniere.max";
+static const char *filename = "/srv/work/database/interfaces/anims_max/cp_fy_hof_species.max";
+//static const char *filename = "/home/kaetemi/source/minimax/GE_Acc_MikotoBaniere.max";
//static const char *filename = "/home/kaetemi/3dsMax/scenes/test2008.max";
//static const char *filename = "/home/kaetemi/3dsMax/scenes/teapot_test_scene.max";
static const char *streamname = "Scene";
@@ -186,7 +186,7 @@ int main(int argc, char **argv)
for (PIPELINE::MAX::CStorageContainer::TStorageObjectConstIt subit = subc->chunks().begin(), subend = subc->chunks().end(); subit != subend; ++subit)
{
PIPELINE::MAX::IStorageObject *storageChunk = subit->second;
- PIPELINE::MAX::CAppData *appData = dynamic_cast(storageChunk);
+ PIPELINE::MAX::BUILTIN::STORAGE::CAppData *appData = dynamic_cast(storageChunk);
if (appData)
{
nlinfo("Found AppData");