From 91284765c2d57524d484b83b76f1344213f858ec Mon Sep 17 00:00:00 2001 From: rave3d Date: Thu, 30 Jul 2009 17:08:50 +0000 Subject: [PATCH] adding interface definition for AssimpNET git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@451 67173fc5-114c-0410-ac8e-9d2fd5bffc1f --- port/Assimp.NET/Assimp.NET/Animation.cpp | 4 +- port/Assimp.NET/Assimp.NET/Animation.h | 34 ++++- port/Assimp.NET/Assimp.NET/Assimp.NET.vcproj | 80 ++++++++--- port/Assimp.NET/Assimp.NET/Bone.cpp | 7 + port/Assimp.NET/Assimp.NET/Bone.h | 27 ++++ port/Assimp.NET/Assimp.NET/Camera.cpp | 7 + port/Assimp.NET/Assimp.NET/Camera.h | 51 +++++++ .../Assimp.NET/CompressedTexture.cpp | 15 -- port/Assimp.NET/Assimp.NET/ConfigProperty.cpp | 15 -- port/Assimp.NET/Assimp.NET/DefaultLogger.cpp | 37 +++++ port/Assimp.NET/Assimp.NET/DefaultLogger.h | 17 ++- port/Assimp.NET/Assimp.NET/Face.cpp | 22 +++ port/Assimp.NET/Assimp.NET/Face.h | 17 +++ port/Assimp.NET/Assimp.NET/IOStream.h | 16 ++- port/Assimp.NET/Assimp.NET/IOSystem.cpp | 22 +++ port/Assimp.NET/Assimp.NET/IOSystem.h | 21 ++- port/Assimp.NET/Assimp.NET/Importer.cpp | 4 + port/Assimp.NET/Assimp.NET/Importer.h | 7 +- port/Assimp.NET/Assimp.NET/Light.cpp | 2 + port/Assimp.NET/Assimp.NET/Light.h | 86 ++++++++++++ port/Assimp.NET/Assimp.NET/LogStream.cpp | 7 + port/Assimp.NET/Assimp.NET/LogStream.h | 23 ++- port/Assimp.NET/Assimp.NET/Logger.cpp | 37 +++++ port/Assimp.NET/Assimp.NET/Logger.h | 35 ++++- port/Assimp.NET/Assimp.NET/MatKey.cpp | 15 -- port/Assimp.NET/Assimp.NET/Material.cpp | 20 +++ port/Assimp.NET/Assimp.NET/Material.h | 34 +++++ port/Assimp.NET/Assimp.NET/Matrix3x3.cpp | 75 ++++++++++ port/Assimp.NET/Assimp.NET/Matrix3x3.h | 77 ++++++++++ port/Assimp.NET/Assimp.NET/Matrix4x4.cpp | 115 +++++++++++++++ port/Assimp.NET/Assimp.NET/Matrix4x4.h | 132 ++++++++++++++++++ port/Assimp.NET/Assimp.NET/Mesh.cpp | 47 +++++++ port/Assimp.NET/Assimp.NET/Mesh.h | 102 ++++++++++++++ .../Assimp.NET/Assimp.NET/NativeException.cpp | 15 -- port/Assimp.NET/Assimp.NET/NativeException.h | 52 ------- port/Assimp.NET/Assimp.NET/Node.cpp | 12 ++ port/Assimp.NET/Assimp.NET/Node.h | 50 +++++++ port/Assimp.NET/Assimp.NET/NodeAnim.cpp | 2 + port/Assimp.NET/Assimp.NET/NodeAnim.h | 69 +++++++++ port/Assimp.NET/Assimp.NET/Quaternion.cpp | 67 +++++++++ port/Assimp.NET/Assimp.NET/Quaternion.h | 49 +++++++ port/Assimp.NET/Assimp.NET/Scene.cpp | 32 +++++ port/Assimp.NET/Assimp.NET/Scene.h | 88 ++++++++++++ port/Assimp.NET/Assimp.NET/Texture.cpp | 7 + port/Assimp.NET/Assimp.NET/Texture.h | 71 ++++++++++ workspaces/vc9/assimp.sln | 1 - 46 files changed, 1584 insertions(+), 141 deletions(-) delete mode 100644 port/Assimp.NET/Assimp.NET/CompressedTexture.cpp delete mode 100644 port/Assimp.NET/Assimp.NET/ConfigProperty.cpp delete mode 100644 port/Assimp.NET/Assimp.NET/MatKey.cpp delete mode 100644 port/Assimp.NET/Assimp.NET/NativeException.cpp delete mode 100644 port/Assimp.NET/Assimp.NET/NativeException.h diff --git a/port/Assimp.NET/Assimp.NET/Animation.cpp b/port/Assimp.NET/Assimp.NET/Animation.cpp index 1016299ef..d43d9bc02 100644 --- a/port/Assimp.NET/Assimp.NET/Animation.cpp +++ b/port/Assimp.NET/Assimp.NET/Animation.cpp @@ -6,10 +6,12 @@ namespace AssimpNET Animation::Animation(void) { + throw gcnew System::NotImplementedException(); } Animation::~Animation(void) { -} + throw gcnew System::NotImplementedException(); +} }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/Animation.h b/port/Assimp.NET/Assimp.NET/Animation.h index af80b2c4c..edf8e579c 100644 --- a/port/Assimp.NET/Assimp.NET/Animation.h +++ b/port/Assimp.NET/Assimp.NET/Animation.h @@ -41,6 +41,10 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #pragma once +#include "NodeAnim.h" + +using namespace System; + namespace AssimpNET { ref class Animation @@ -48,5 +52,33 @@ namespace AssimpNET public: Animation(void); ~Animation(void); + + property array^ mAnimChannels + { + array^ get(){throw gcnew System::NotImplementedException();} + void set(array^ value){throw gcnew System::NotImplementedException();} + } + property unsigned int mNumAnimChannels + { + unsigned int get(){throw gcnew System::NotImplementedException();} + void set(unsigned int value){throw gcnew System::NotImplementedException();} + } + property double mDuration + { + double get(){throw gcnew System::NotImplementedException();} + void set(double value){throw gcnew System::NotImplementedException();} + } + property double mTicksPerSecond + { + double get(){throw gcnew System::NotImplementedException();} + void set(double value){throw gcnew System::NotImplementedException();} + } + property String^ mName + { + String^ get(){throw gcnew System::NotImplementedException();} + void set(String^ value){throw gcnew System::NotImplementedException();} + } + }; -}//namespace \ No newline at end of file +}//namespace + diff --git a/port/Assimp.NET/Assimp.NET/Assimp.NET.vcproj b/port/Assimp.NET/Assimp.NET/Assimp.NET.vcproj index 1f66c1f5c..eafeadd5d 100644 --- a/port/Assimp.NET/Assimp.NET/Assimp.NET.vcproj +++ b/port/Assimp.NET/Assimp.NET/Assimp.NET.vcproj @@ -18,8 +18,8 @@ - - @@ -261,14 +257,38 @@ RelativePath=".\Quaternion.cpp" > + + + + + + + + + + + + + + @@ -332,7 +356,7 @@ > - - @@ -367,14 +387,38 @@ RelativePath=".\Quaternion.h" > + + + + + + + + + + + + ^ mWeights + { + array^ get(){throw gcnew System::NotImplementedException();} + void set(array^ value){throw gcnew System::NotImplementedException();} + } }; }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/Camera.cpp b/port/Assimp.NET/Assimp.NET/Camera.cpp index 9f4ec3be0..3d9dcc345 100644 --- a/port/Assimp.NET/Assimp.NET/Camera.cpp +++ b/port/Assimp.NET/Assimp.NET/Camera.cpp @@ -6,10 +6,17 @@ namespace AssimpNET Camera::Camera(void) { + throw gcnew System::NotImplementedException(); } Camera::~Camera(void) { + throw gcnew System::NotImplementedException(); +} + +void Camera::GetCameraMatrix(Matrix4x4^ out) +{ + throw gcnew System::NotImplementedException(); } }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/Camera.h b/port/Assimp.NET/Assimp.NET/Camera.h index f31c29dca..ba52ba8e1 100644 --- a/port/Assimp.NET/Assimp.NET/Camera.h +++ b/port/Assimp.NET/Assimp.NET/Camera.h @@ -41,6 +41,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #pragma once +#include "Matrix4x4.h" +#include "Vector3D.h" + +using namespace System; + namespace AssimpNET { ref class Camera @@ -48,5 +53,51 @@ namespace AssimpNET public: Camera(void); ~Camera(void); + + void GetCameraMatrix(Matrix4x4^ out); + + property float mAspect + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + property float mNearClipPlane + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + property float mFarClipPlane + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + property float mHorizontalFOV + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property Vector3D^ mLookAt + { + Vector3D^ get(){throw gcnew System::NotImplementedException();} + void set(Vector3D^ value){throw gcnew System::NotImplementedException();} + } + property Vector3D^ mPosition + { + Vector3D^ get(){throw gcnew System::NotImplementedException();} + void set(Vector3D^ value){throw gcnew System::NotImplementedException();} + } + property Vector3D^ mUp + { + Vector3D^ get(){throw gcnew System::NotImplementedException();} + void set(Vector3D^ value){throw gcnew System::NotImplementedException();} + } + + property String^ mName + { + String^ get(){throw gcnew System::NotImplementedException();} + void set(String^ value){throw gcnew System::NotImplementedException();} + } + }; }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/CompressedTexture.cpp b/port/Assimp.NET/Assimp.NET/CompressedTexture.cpp deleted file mode 100644 index ea7cec6d6..000000000 --- a/port/Assimp.NET/Assimp.NET/CompressedTexture.cpp +++ /dev/null @@ -1,15 +0,0 @@ - -#include "CompressedTexture.h" - -namespace AssimpNET -{ - -CompressedTexture::CompressedTexture(void) -{ -} - -CompressedTexture::~CompressedTexture(void) -{ -} - -}//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/ConfigProperty.cpp b/port/Assimp.NET/Assimp.NET/ConfigProperty.cpp deleted file mode 100644 index 6e9178351..000000000 --- a/port/Assimp.NET/Assimp.NET/ConfigProperty.cpp +++ /dev/null @@ -1,15 +0,0 @@ - -#include "ConfigProperty.h" - -namespace AssimpNET -{ - -ConfigProperty::ConfigProperty(void) -{ -} - -ConfigProperty::~ConfigProperty(void) -{ -} - -}//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/DefaultLogger.cpp b/port/Assimp.NET/Assimp.NET/DefaultLogger.cpp index 7552ac4b4..b0fd2136d 100644 --- a/port/Assimp.NET/Assimp.NET/DefaultLogger.cpp +++ b/port/Assimp.NET/Assimp.NET/DefaultLogger.cpp @@ -6,10 +6,47 @@ namespace AssimpNET DefaultLogger::DefaultLogger(void) { + throw gcnew System::NotImplementedException(); } DefaultLogger::~DefaultLogger(void) { + throw gcnew System::NotImplementedException(); +} + +bool DefaultLogger::attachStream(LogStream^ stream, unsigned int severity) +{ + throw gcnew System::NotImplementedException(); +} + +bool DefaultLogger::detachStream(LogStream^ stream, unsigned int severity) +{ + throw gcnew System::NotImplementedException(); +} + +Logger^ DefaultLogger::create(const String^ name, LogSeverity severity, unsigned int defStream, IOSystem^ io) +{ + throw gcnew System::NotImplementedException(); +} + +Logger^ DefaultLogger::get() +{ + throw gcnew System::NotImplementedException(); +} + +bool DefaultLogger::isNullLogger() +{ + throw gcnew System::NotImplementedException(); +} + +void DefaultLogger::kill() +{ + throw gcnew System::NotImplementedException(); +} + +void DefaultLogger::set(Logger^ logger) +{ + throw gcnew System::NotImplementedException(); } }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/DefaultLogger.h b/port/Assimp.NET/Assimp.NET/DefaultLogger.h index 81581d5e5..d3d6871a2 100644 --- a/port/Assimp.NET/Assimp.NET/DefaultLogger.h +++ b/port/Assimp.NET/Assimp.NET/DefaultLogger.h @@ -41,12 +41,27 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #pragma once +#include "Logger.h" +#include "LogStream.h" +#include "IOSystem.h" + +using namespace System; + namespace AssimpNET { - ref class DefaultLogger + ref class DefaultLogger : Logger { public: DefaultLogger(void); ~DefaultLogger(void); + + virtual bool attachStream(LogStream^ stream, unsigned int severity) override; + virtual bool detachStream(LogStream^ stream, unsigned int severity) override; + + static Logger^ create(const String^ name, LogSeverity severity, unsigned int defStream, IOSystem^ io); + static Logger^ get(); + static bool isNullLogger(); + static void kill(); + static void set(Logger^ logger); }; }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/Face.cpp b/port/Assimp.NET/Assimp.NET/Face.cpp index 763c05e3d..7476f6f00 100644 --- a/port/Assimp.NET/Assimp.NET/Face.cpp +++ b/port/Assimp.NET/Assimp.NET/Face.cpp @@ -6,10 +6,32 @@ namespace AssimpNET Face::Face(void) { + throw gcnew System::NotImplementedException(); +} + +Face::Face(const Face^ other) +{ + throw gcnew System::NotImplementedException(); } Face::~Face(void) { + throw gcnew System::NotImplementedException(); +} + +bool Face::operator != (const Face^ other) +{ + throw gcnew System::NotImplementedException(); +} + +Face^ Face::operator = (const Face^ other) +{ + throw gcnew System::NotImplementedException(); +} + +bool Face::operator == (const Face^ other) +{ + throw gcnew System::NotImplementedException(); } diff --git a/port/Assimp.NET/Assimp.NET/Face.h b/port/Assimp.NET/Assimp.NET/Face.h index 798530cf8..c5a92ba6c 100644 --- a/port/Assimp.NET/Assimp.NET/Face.h +++ b/port/Assimp.NET/Assimp.NET/Face.h @@ -47,6 +47,23 @@ namespace AssimpNET { public: Face(void); + Face(const Face^ other); ~Face(void); + + bool operator != (const Face^ other); + Face^ operator = (const Face^ other); + bool operator == (const Face^ other); + + property array^ mIndices + { + array^ get(){throw gcnew System::NotImplementedException();} + void set(array^ value){throw gcnew System::NotImplementedException();} + } + + property unsigned int mNumIndices + { + unsigned int get(){throw gcnew System::NotImplementedException();} + void set(unsigned int value){throw gcnew System::NotImplementedException();} + } }; }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/IOStream.h b/port/Assimp.NET/Assimp.NET/IOStream.h index 1314b25b3..9dea13919 100644 --- a/port/Assimp.NET/Assimp.NET/IOStream.h +++ b/port/Assimp.NET/Assimp.NET/IOStream.h @@ -41,12 +41,26 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #pragma once +#include "Enums.h" + +using namespace System; + namespace AssimpNET { ref class IOStream { public: + + virtual ~IOStream(void); + + virtual size_t FileSize() = 0; + virtual void Flush() = 0; + virtual size_t Read(Object ^Buffer, size_t Size, size_t Count) = 0; + virtual aiReturn Seek(size_t Offset, aiOrigin Origin) = 0; + virtual size_t Tell()= 0; + virtual size_t Write( Object ^Buffer, size_t Size, size_t Count) = 0; + + protected: IOStream(void); - ~IOStream(void); }; }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/IOSystem.cpp b/port/Assimp.NET/Assimp.NET/IOSystem.cpp index 624b7bcb5..9b685c713 100644 --- a/port/Assimp.NET/Assimp.NET/IOSystem.cpp +++ b/port/Assimp.NET/Assimp.NET/IOSystem.cpp @@ -6,10 +6,32 @@ namespace AssimpNET IOSystem::IOSystem(void) { + throw gcnew System::NotImplementedException(); } IOSystem::~IOSystem(void) { + throw gcnew System::NotImplementedException(); +} + +bool IOSystem::ComparePaths (const String^ one, const String^ second) +{ + throw gcnew System::NotImplementedException(); +} + +bool IOSystem::ComparePaths (array^ one, array^ second) +{ + throw gcnew System::NotImplementedException(); +} + +bool IOSystem::Exists(const String^ pFile) +{ + throw gcnew System::NotImplementedException(); +} + +IOStream^ IOSystem::Open(const String^ pFile, const String^ pMode) +{ + throw gcnew System::NotImplementedException(); } }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/IOSystem.h b/port/Assimp.NET/Assimp.NET/IOSystem.h index e2fcc1710..5728108a5 100644 --- a/port/Assimp.NET/Assimp.NET/IOSystem.h +++ b/port/Assimp.NET/Assimp.NET/IOSystem.h @@ -41,12 +41,29 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #pragma once +#include "IOStream.h" + +using namespace System; + namespace AssimpNET { ref class IOSystem { public: IOSystem(void); - ~IOSystem(void); + virtual ~IOSystem(void); + + virtual void Close (IOStream^ pFile) = 0; + bool ComparePaths (const String^ one, const String^ second); + virtual bool ComparePaths (array^ one, array^ second); + virtual bool Exists(array^ pFile) = 0; + bool Exists(const String^ pFile); + virtual char getOsSeperator() = 0; + IOStream^ Open(const String^ pFile, const String^ pMode); + virtual IOStream^ Open(array^ pFile, array^ pMode) = 0; }; -}//namespace \ No newline at end of file +}//namespace + + + + diff --git a/port/Assimp.NET/Assimp.NET/Importer.cpp b/port/Assimp.NET/Assimp.NET/Importer.cpp index 86cdf699c..4eb74e66b 100644 --- a/port/Assimp.NET/Assimp.NET/Importer.cpp +++ b/port/Assimp.NET/Assimp.NET/Importer.cpp @@ -6,10 +6,14 @@ namespace AssimpNET Importer::Importer(void) { + throw gcnew System::NotImplementedException(); } Importer::~Importer(void) { + throw gcnew System::NotImplementedException(); } + + }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/Importer.h b/port/Assimp.NET/Assimp.NET/Importer.h index 6297710ef..ff082c969 100644 --- a/port/Assimp.NET/Assimp.NET/Importer.h +++ b/port/Assimp.NET/Assimp.NET/Importer.h @@ -41,6 +41,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #pragma once +#include "IOSystem.h" +#include "Scene.h" + +using namespace System; + namespace AssimpNET { ref class Importer @@ -49,6 +54,6 @@ namespace AssimpNET Importer(void); ~Importer(void); - + }; }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/Light.cpp b/port/Assimp.NET/Assimp.NET/Light.cpp index ca620b775..8287b7988 100644 --- a/port/Assimp.NET/Assimp.NET/Light.cpp +++ b/port/Assimp.NET/Assimp.NET/Light.cpp @@ -6,10 +6,12 @@ namespace AssimpNET Light::Light(void) { + throw gcnew System::NotImplementedException(); } Light::~Light(void) { + throw gcnew System::NotImplementedException(); } }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/Light.h b/port/Assimp.NET/Assimp.NET/Light.h index e9a292038..6ba58247f 100644 --- a/port/Assimp.NET/Assimp.NET/Light.h +++ b/port/Assimp.NET/Assimp.NET/Light.h @@ -41,12 +41,98 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #pragma once +#include "Vector3D.h" +#include "Color3D.h" + +using namespace System; + namespace AssimpNET { + enum LightSourceType + { + aiLightSource_UNDEFINED = 0x0, + aiLightSource_DIRECTIONAL = 0x1, + aiLightSource_POINT = 0x2, + aiLightSource_SPOT = 0x3, + _aiLightSource_Force32Bit = 0x9fffffff + }; + ref class Light { public: Light(void); ~Light(void); + + property float AngleInnerCone + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property float AngleOuterCone + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property float AttenuationConstant + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property float AttenuationLinear + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property float AttenuationQuadratic + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property Color3D^ ColorAmbient + { + Color3D^ get(){throw gcnew System::NotImplementedException();} + void set(Color3D^ value){throw gcnew System::NotImplementedException();} + } + + property Color3D^ ColorDiffuse + { + Color3D^ get(){throw gcnew System::NotImplementedException();} + void set(Color3D^ value){throw gcnew System::NotImplementedException();} + } + + property Color3D^ ColorSpecular + { + Color3D^ get(){throw gcnew System::NotImplementedException();} + void set(Color3D^ value){throw gcnew System::NotImplementedException();} + } + + property Vector3D^ Direction + { + Vector3D^ get(){throw gcnew System::NotImplementedException();} + void set(Vector3D^ value){throw gcnew System::NotImplementedException();} + } + + property Vector3D^ Position + { + Vector3D^ get(){throw gcnew System::NotImplementedException();} + void set(Vector3D^ value){throw gcnew System::NotImplementedException();} + } + + property String^ Name + { + String^ get(){throw gcnew System::NotImplementedException();} + void set(String^ value){throw gcnew System::NotImplementedException();} + } + + property LightSourceType Type + { + LightSourceType get(){throw gcnew System::NotImplementedException();} + void set(LightSourceType value){throw gcnew System::NotImplementedException();} + } }; }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/LogStream.cpp b/port/Assimp.NET/Assimp.NET/LogStream.cpp index 742c3bcf4..680e21215 100644 --- a/port/Assimp.NET/Assimp.NET/LogStream.cpp +++ b/port/Assimp.NET/Assimp.NET/LogStream.cpp @@ -6,10 +6,17 @@ namespace AssimpNET LogStream::LogStream(void) { + throw gcnew System::NotImplementedException(); } LogStream::~LogStream(void) { + throw gcnew System::NotImplementedException(); +} + +LogStream^ LogStream::createDefaultStream(DefaulLogStreams streams, array^ name, IOSystem^ io) +{ + throw gcnew System::NotImplementedException(); } }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/LogStream.h b/port/Assimp.NET/Assimp.NET/LogStream.h index 6506a28e5..3813114bd 100644 --- a/port/Assimp.NET/Assimp.NET/LogStream.h +++ b/port/Assimp.NET/Assimp.NET/LogStream.h @@ -41,12 +41,31 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #pragma once +#include "IOSystem.h" + +using namespace System; + namespace AssimpNET { + + enum DefaulLogStreams + { + DLS_FILE, + DLS_COUT, + DLS_CERR, + DLS_DEBUGGER + }; + + ref class LogStream { - public: + public: + virtual ~LogStream(void); + virtual void write(array^ message) = 0; + + static LogStream^ createDefaultStream(DefaulLogStreams streams, array^ name, IOSystem^ io); + + protected: LogStream(void); - ~LogStream(void); }; }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/Logger.cpp b/port/Assimp.NET/Assimp.NET/Logger.cpp index c318f4441..0a2f1cf90 100644 --- a/port/Assimp.NET/Assimp.NET/Logger.cpp +++ b/port/Assimp.NET/Assimp.NET/Logger.cpp @@ -6,10 +6,47 @@ namespace AssimpNET Logger::Logger(void) { + throw gcnew System::NotImplementedException(); +} + +Logger::Logger(LogSeverity) +{ + throw gcnew System::NotImplementedException(); } Logger::~Logger(void) { + throw gcnew System::NotImplementedException(); +} + +void Logger::debug (const String^ message) +{ + throw gcnew System::NotImplementedException(); +} + +void Logger::error(const String^ message) +{ + throw gcnew System::NotImplementedException(); +} + +LogSeverity Logger::getLogSeverity() +{ + throw gcnew System::NotImplementedException(); +} + +void Logger::info(const String^ message) +{ + throw gcnew System::NotImplementedException(); +} + +void Logger::setLogSverity(LogSeverity log_severity) +{ + throw gcnew System::NotImplementedException(); +} + +void Logger::warn(const String^ message) +{ + throw gcnew System::NotImplementedException(); } }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/Logger.h b/port/Assimp.NET/Assimp.NET/Logger.h index e94ff85ad..123940d1a 100644 --- a/port/Assimp.NET/Assimp.NET/Logger.h +++ b/port/Assimp.NET/Assimp.NET/Logger.h @@ -41,12 +41,45 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #pragma once +#include "LogStream.h" + +using namespace System; + namespace AssimpNET { + enum LogSeverity + { + NORMAL, + VERBOSE, + }; + ref class Logger { public: - Logger(void); ~Logger(void); + + virtual bool attachStream(LogStream^ stream, unsigned int severity) = 0; + void debug (const String^ message); + virtual bool detachStream(LogStream^ stream, unsigned int severity) = 0; + void error(const String^ message); + LogSeverity getLogSeverity(); + void info(const String^ message); + void setLogSverity(LogSeverity log_severity); + void warn(const String^ message); + + protected: + Logger(LogSeverity); + Logger(); + virtual void OnDebug(array^ message) = 0; + virtual void OnError(array^ message) = 0; + virtual void OnInfo(array^ message) = 0; + virtual void OnWarn(array^ message) = 0; + + property LogSeverity m_Severity + { + LogSeverity get(){throw gcnew System::NotImplementedException();} + void set(LogSeverity value){throw gcnew System::NotImplementedException();} + } + }; }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/MatKey.cpp b/port/Assimp.NET/Assimp.NET/MatKey.cpp deleted file mode 100644 index d03615769..000000000 --- a/port/Assimp.NET/Assimp.NET/MatKey.cpp +++ /dev/null @@ -1,15 +0,0 @@ - -#include "MatKey.h" - -namespace AssimpNET -{ - -MatKey::MatKey(void) -{ -} - -MatKey::~MatKey(void) -{ -} - -}//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/Material.cpp b/port/Assimp.NET/Assimp.NET/Material.cpp index cd9cec409..27b878365 100644 --- a/port/Assimp.NET/Assimp.NET/Material.cpp +++ b/port/Assimp.NET/Assimp.NET/Material.cpp @@ -6,10 +6,30 @@ namespace AssimpNET Material::Material(void) { + throw gcnew System::NotImplementedException(); } Material::~Material(void) { + throw gcnew System::NotImplementedException(); +} + +generic +aiReturn Material::Get(array^ pKey, unsigned int type, unsigned int idx, T pOut) +{ + throw gcnew System::NotImplementedException(); +} + +generic +aiReturn Material::Get(array^ pKey, unsigned int type, unsigned int idx, T pOut, unsigned int^ pMax) +{ + throw gcnew System::NotImplementedException(); +} + +aiReturn Material::GetTexture(TextureType type, unsigned int index, String^ path, TextureMapping& mapping, unsigned int^ uvindex, float^ blend, + TextureOP& op, TextureMapMode& mapMode) +{ + throw gcnew System::NotImplementedException(); } }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/Material.h b/port/Assimp.NET/Assimp.NET/Material.h index b0c45cee0..6ac1d5630 100644 --- a/port/Assimp.NET/Assimp.NET/Material.h +++ b/port/Assimp.NET/Assimp.NET/Material.h @@ -41,6 +41,12 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #pragma once +#include "Enums.h" +#include "MaterialProperty.h" +#include "Texture.h" + +using namespace System; + namespace AssimpNET { ref class Material @@ -48,5 +54,33 @@ namespace AssimpNET public: Material(void); ~Material(void); + + generic + aiReturn Get(array^ pKey, unsigned int type, unsigned int idx, T pOut); + + generic + aiReturn Get(array^ pKey, unsigned int type, unsigned int idx, T pOut, unsigned int^ pMax); + + aiReturn GetTexture(TextureType type, unsigned int index, String^ path, TextureMapping& mapping, unsigned int^ uvindex, float^ blend, + TextureOP& op, TextureMapMode& mapMode); + + property unsigned int mNumAllocated + { + unsigned int get(){throw gcnew System::NotImplementedException();} + void set(unsigned int value){throw gcnew System::NotImplementedException();} + } + + property unsigned int mNumProperties + { + unsigned int get(){throw gcnew System::NotImplementedException();} + void set(unsigned int value){throw gcnew System::NotImplementedException();} + } + + property array^ mProperties + { + array^ get(){throw gcnew System::NotImplementedException();} + void set(array^ value){throw gcnew System::NotImplementedException();} + } + }; }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/Matrix3x3.cpp b/port/Assimp.NET/Assimp.NET/Matrix3x3.cpp index ec86cb1a1..5bc856192 100644 --- a/port/Assimp.NET/Assimp.NET/Matrix3x3.cpp +++ b/port/Assimp.NET/Assimp.NET/Matrix3x3.cpp @@ -6,10 +6,85 @@ namespace AssimpNET Matrix3x3::Matrix3x3(void) { + throw gcnew System::NotImplementedException(); +} + +Matrix3x3::Matrix3x3(const Matrix4x4^ matrix) +{ + throw gcnew System::NotImplementedException(); +} + +Matrix3x3::Matrix3x3( float _a1, float _a2, float _a3, + float _b1, float _b2, float _b3, + float _c1, float _c2, float _c3) +{ + throw gcnew System::NotImplementedException(); } Matrix3x3::~Matrix3x3(void) { + throw gcnew System::NotImplementedException(); } +float Matrix3x3::Determinant() +{ + throw gcnew System::NotImplementedException(); +} + +Matrix3x3^ Matrix3x3::Inverse() +{ + throw gcnew System::NotImplementedException(); +} + +Matrix3x3^ Matrix3x3::Transpose() +{ + throw gcnew System::NotImplementedException(); +} + +bool Matrix3x3::operator != (const Matrix3x3^ m) +{ + throw gcnew System::NotImplementedException(); +} + +bool Matrix3x3::operator == (const Matrix3x3^ m) +{ + throw gcnew System::NotImplementedException(); +} + +Matrix3x3^ Matrix3x3::operator* (const Matrix3x3^ m) +{ + throw gcnew System::NotImplementedException(); +} + +Matrix3x3^ Matrix3x3::operator*= (const Matrix3x3^ m) +{ + throw gcnew System::NotImplementedException(); +} + +float Matrix3x3::operator[](unsigned int i) +{ + throw gcnew System::NotImplementedException(); +} + +Matrix3x3^ Matrix3x3::FromToMatrix(Vector3D^ from, Vector3D^ to, Matrix3x3^ out) +{ + throw gcnew System::NotImplementedException(); +} + +Matrix3x3^ Matrix3x3::Rotation(float a, const Vector3D^ axis, Matrix3x3^ out) +{ + throw gcnew System::NotImplementedException(); +} + +Matrix3x3^ Matrix3x3::RotationZ(float a, Matrix3x3^ out) +{ + throw gcnew System::NotImplementedException(); +} + +Matrix3x3^ Matrix3x3::Translation(const Vector2D^ v, Matrix3x3^ out) +{ + throw gcnew System::NotImplementedException(); +} + + }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/Matrix3x3.h b/port/Assimp.NET/Assimp.NET/Matrix3x3.h index ed30d394a..d1043c430 100644 --- a/port/Assimp.NET/Assimp.NET/Matrix3x3.h +++ b/port/Assimp.NET/Assimp.NET/Matrix3x3.h @@ -41,12 +41,89 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #pragma once +#include "Vector3D.h" +#include "Vector2D.h" +#include "Matrix4x4.h" + namespace AssimpNET { ref class Matrix3x3 { public: Matrix3x3(void); + Matrix3x3(const Matrix4x4^ matrix); + Matrix3x3( float _a1, float _a2, float _a3, + float _b1, float _b2, float _b3, + float _c1, float _c2, float _c3); ~Matrix3x3(void); + + float Determinant(); + + Matrix3x3^ Inverse(); + Matrix3x3^ Transpose(); + bool operator != (const Matrix3x3^ m); + bool operator == (const Matrix3x3^ m); + Matrix3x3^ operator* (const Matrix3x3^ m); + Matrix3x3^ operator*= (const Matrix3x3^ m); + float operator[](unsigned int i); + + static Matrix3x3^ FromToMatrix(Vector3D^ from, Vector3D^ to, Matrix3x3^ out); + static Matrix3x3^ Rotation(float a, const Vector3D^ axis, Matrix3x3^ out); + static Matrix3x3^ RotationZ(float a, Matrix3x3^ out); + static Matrix3x3^ Translation(const Vector2D^ v, Matrix3x3^ out); + + property float a1 + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property float a2 + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property float a3 + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property float b1 + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property float b2 + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property float b3 + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property float c1 + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property float c2 + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + property float c3 + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + }; }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/Matrix4x4.cpp b/port/Assimp.NET/Assimp.NET/Matrix4x4.cpp index bf493a703..f0ab3234e 100644 --- a/port/Assimp.NET/Assimp.NET/Matrix4x4.cpp +++ b/port/Assimp.NET/Assimp.NET/Matrix4x4.cpp @@ -6,10 +6,125 @@ namespace AssimpNET Matrix4x4::Matrix4x4(void) { + throw gcnew System::NotImplementedException(); +} + +Matrix4x4::Matrix4x4(const Matrix3x3 other) +{ + throw gcnew System::NotImplementedException(); +} + +Matrix4x4::Matrix4x4( float _a1, float _a2, float _a3, float _a4, + float _b1, float _b2, float _b3, float _b4, + float _c1, float _c2, float _c3, float _c4, + float _d1, float _d2, float _d3, float _d4) +{ + throw gcnew System::NotImplementedException(); } Matrix4x4::~Matrix4x4(void) { + throw gcnew System::NotImplementedException(); +} + +void Matrix4x4::Decompose(Vector3D^ scaling, Quaternion^ rotation, Vector3D^ position) +{ + throw gcnew System::NotImplementedException(); +} + +void Matrix4x4::DecomposeNoScaling(Quaternion^ rotation, Vector3D^ position) +{ + throw gcnew System::NotImplementedException(); +} + +float Matrix4x4::Determinant() +{ + throw gcnew System::NotImplementedException(); +} + +void Matrix4x4::FromEulerAnglesXYZ(const Vector3D^ euler) +{ + throw gcnew System::NotImplementedException(); +} + +void Matrix4x4::FromEulerAnglesXYZ(float x, float y, float z) +{ + throw gcnew System::NotImplementedException(); +} + +Matrix4x4^ Matrix4x4::Inverse() +{ + throw gcnew System::NotImplementedException(); +} + +Matrix4x4^ Matrix4x4::Transpose() +{ + throw gcnew System::NotImplementedException(); +} + +bool Matrix4x4::IsIdentity() +{ + throw gcnew System::NotImplementedException(); +} + +bool Matrix4x4::operator != (const Matrix4x4^ m) +{ + throw gcnew System::NotImplementedException(); +} + +bool Matrix4x4::operator == (const Matrix4x4^ m) +{ + throw gcnew System::NotImplementedException(); +} + +Matrix4x4^ Matrix4x4::operator* (const Matrix4x4^ m) +{ + throw gcnew System::NotImplementedException(); +} + +Matrix4x4^ Matrix4x4::operator*= (const Matrix4x4^ m) +{ + throw gcnew System::NotImplementedException(); +} + +float Matrix4x4::operator[](unsigned int i) +{ + throw gcnew System::NotImplementedException(); +} + +Matrix4x4^ Matrix4x4::FromToMatrix (const Vector3D^ from, const Vector3D^ to, Matrix4x4^ out) +{ + throw gcnew System::NotImplementedException(); +} + +Matrix4x4^ Matrix4x4::Rotation (float a, const Vector3D^ axis, Matrix4x4^ out) +{ + throw gcnew System::NotImplementedException(); +} + +Matrix4x4^ Matrix4x4::RotationX (float a, Matrix4x4^ out) +{ + throw gcnew System::NotImplementedException(); +} + +Matrix4x4^ Matrix4x4::RotationY (float a, Matrix4x4^ out) +{ + throw gcnew System::NotImplementedException(); +} + +Matrix4x4^ Matrix4x4::RotationZ (float a, Matrix4x4^ out) +{ + throw gcnew System::NotImplementedException(); +} + +Matrix4x4^ Matrix4x4::Scaling (const Vector3D^ v, Matrix4x4^ out) +{ + throw gcnew System::NotImplementedException(); +} + +Matrix4x4^ Matrix4x4::Translation (const Vector3D^ v, Matrix4x4^ out) +{ + throw gcnew System::NotImplementedException(); } }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/Matrix4x4.h b/port/Assimp.NET/Assimp.NET/Matrix4x4.h index d3c099e1a..1aa420fb0 100644 --- a/port/Assimp.NET/Assimp.NET/Matrix4x4.h +++ b/port/Assimp.NET/Assimp.NET/Matrix4x4.h @@ -41,12 +41,144 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #pragma once +#include "Matrix3x3.h" +#include "Vector3D.h" +#include "Quaternion.h" + + + namespace AssimpNET { ref class Matrix4x4 { public: Matrix4x4(void); + Matrix4x4(const Matrix3x3 other); + Matrix4x4( float _a1, float _a2, float _a3, float _a4, + float _b1, float _b2, float _b3, float _b4, + float _c1, float _c2, float _c3, float _c4, + float _d1, float _d2, float _d3, float _d4); ~Matrix4x4(void); + + void Decompose(Vector3D^ scaling, Quaternion^ rotation, Vector3D^ position); + void DecomposeNoScaling(Quaternion^ rotation, Vector3D^ position); + float Determinant(); + void FromEulerAnglesXYZ(const Vector3D^ euler); + void FromEulerAnglesXYZ(float x, float y, float z); + Matrix4x4^ Inverse(); + Matrix4x4^ Transpose(); + bool IsIdentity(); + bool operator != (const Matrix4x4^ m); + bool operator == (const Matrix4x4^ m); + Matrix4x4^ operator* (const Matrix4x4^ m); + Matrix4x4^ operator*= (const Matrix4x4^ m); + float operator[](unsigned int i); + + static Matrix4x4^ FromToMatrix (const Vector3D^ from, const Vector3D^ to, Matrix4x4^ out); + static Matrix4x4^ Rotation (float a, const Vector3D^ axis, Matrix4x4^ out); + static Matrix4x4^ RotationX (float a, Matrix4x4^ out); + static Matrix4x4^ RotationY (float a, Matrix4x4^ out); + static Matrix4x4^ RotationZ (float a, Matrix4x4^ out); + static Matrix4x4^ Scaling (const Vector3D^ v, Matrix4x4^ out); + static Matrix4x4^ Translation (const Vector3D^ v, Matrix4x4^ out); + + + + property float a1 + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property float a2 + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property float a3 + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property float a4 + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property float b1 + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property float b2 + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property float b3 + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property float b4 + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property float c1 + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property float c2 + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property float c3 + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property float c4 + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property float d1 + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property float d2 + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property float d3 + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + + property float d4 + { + float get(){throw gcnew System::NotImplementedException();} + void set(float value){throw gcnew System::NotImplementedException();} + } + }; }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/Mesh.cpp b/port/Assimp.NET/Assimp.NET/Mesh.cpp index c982b6d3d..b8b66b47d 100644 --- a/port/Assimp.NET/Assimp.NET/Mesh.cpp +++ b/port/Assimp.NET/Assimp.NET/Mesh.cpp @@ -6,10 +6,57 @@ namespace AssimpNET Mesh::Mesh(void) { + throw gcnew System::NotImplementedException(); } Mesh::~Mesh(void) { + throw gcnew System::NotImplementedException(); +} + +unsigned int Mesh::GetNumColorChannels() +{ + throw gcnew System::NotImplementedException(); +} + +unsigned int Mesh::GetNumUVChannels() +{ + throw gcnew System::NotImplementedException(); +} + +bool Mesh::HasBones() +{ + throw gcnew System::NotImplementedException(); +} + +bool Mesh::HasFaces() +{ + throw gcnew System::NotImplementedException(); +} + +bool Mesh::HasNormals() +{ + throw gcnew System::NotImplementedException(); +} + +bool Mesh::HasPositions() +{ + throw gcnew System::NotImplementedException(); +} + +bool Mesh::HasTangentsAndBitangents() +{ + throw gcnew System::NotImplementedException(); +} + +bool Mesh::HasTextureCoords() +{ + throw gcnew System::NotImplementedException(); +} + +bool Mesh::HasVertexColors() +{ + throw gcnew System::NotImplementedException(); } }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/Mesh.h b/port/Assimp.NET/Assimp.NET/Mesh.h index d7884ec35..0987afa46 100644 --- a/port/Assimp.NET/Assimp.NET/Mesh.h +++ b/port/Assimp.NET/Assimp.NET/Mesh.h @@ -41,6 +41,13 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #pragma once +#include "Vector3D.h" +#include "Bone.h" +#include "Color4D.h" +#include "Face.h" + +using namespace System; + namespace AssimpNET { ref class Mesh @@ -48,5 +55,100 @@ namespace AssimpNET public: Mesh(void); ~Mesh(void); + + unsigned int GetNumColorChannels(); + unsigned int GetNumUVChannels(); + bool HasBones(); + bool HasFaces(); + bool HasNormals(); + bool HasPositions(); + bool HasTangentsAndBitangents(); + bool HasTextureCoords(); + bool HasVertexColors(); + + property array^ mBitangents + { + array^ get(){throw gcnew System::NotImplementedException();} + void set(array^ value){throw gcnew System::NotImplementedException();} + } + + property array^ mBones + { + array^ get(){throw gcnew System::NotImplementedException();} + void set(array^ value){throw gcnew System::NotImplementedException();} + } + + property array^ mColors + { + array^ get(){throw gcnew System::NotImplementedException();} + void set(array^ value){throw gcnew System::NotImplementedException();} + } + + property array^ mFaces + { + array^ get(){throw gcnew System::NotImplementedException();} + void set(array^ value){throw gcnew System::NotImplementedException();} + } + + property unsigned int mMaterialIndex + { + unsigned int get(){throw gcnew System::NotImplementedException();} + void set(unsigned int value){throw gcnew System::NotImplementedException();} + } + + property array^ mNormals + { + array^ get(){throw gcnew System::NotImplementedException();} + void set(array^ value){throw gcnew System::NotImplementedException();} + } + + property unsigned int mNumBones + { + unsigned int get(){throw gcnew System::NotImplementedException();} + void set(unsigned int value){throw gcnew System::NotImplementedException();} + } + + property unsigned int mNumFaces + { + unsigned int get(){throw gcnew System::NotImplementedException();} + void set(unsigned int value){throw gcnew System::NotImplementedException();} + } + + property unsigned int mNumUVComponents + { + unsigned int get(){throw gcnew System::NotImplementedException();} + void set(unsigned int value){throw gcnew System::NotImplementedException();} + } + + property unsigned int mNumVertices + { + unsigned int get(){throw gcnew System::NotImplementedException();} + void set(unsigned int value){throw gcnew System::NotImplementedException();} + } + + property unsigned int mPrimitveTypes + { + unsigned int get(){throw gcnew System::NotImplementedException();} + void set(unsigned int value){throw gcnew System::NotImplementedException();} + } + + property array^ mTangents + { + array^ get(){throw gcnew System::NotImplementedException();} + void set(array^ value){throw gcnew System::NotImplementedException();} + } + + property array^ mTextureCoords + { + array^ get(){throw gcnew System::NotImplementedException();} + void set(array^ value){throw gcnew System::NotImplementedException();} + } + + property array^ mVertices + { + array^ get(){throw gcnew System::NotImplementedException();} + void set(array^ value){throw gcnew System::NotImplementedException();} + } + }; }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/NativeException.cpp b/port/Assimp.NET/Assimp.NET/NativeException.cpp deleted file mode 100644 index 8e6f47ba4..000000000 --- a/port/Assimp.NET/Assimp.NET/NativeException.cpp +++ /dev/null @@ -1,15 +0,0 @@ - -#include "NativeException.h" - -namespace AssimpNET -{ - -NativeException::NativeException(void) -{ -} - -NativeException::~NativeException(void) -{ -} - -}//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/NativeException.h b/port/Assimp.NET/Assimp.NET/NativeException.h deleted file mode 100644 index 7c7d4e56d..000000000 --- a/port/Assimp.NET/Assimp.NET/NativeException.h +++ /dev/null @@ -1,52 +0,0 @@ -/* ---------------------------------------------------------------------------- -Open Asset Import Library (ASSIMP) ---------------------------------------------------------------------------- - -Copyright (c) 2006-2008, ASSIMP Development Team - -All rights reserved. - -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following -conditions are met: - - * Redistributions of source code must retain the above - copyright notice, this list of conditions and the - following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the - following disclaimer in the documentation and/or other - materials provided with the distribution. - - * Neither the name of the ASSIMP team, nor the names of its - contributors may be used to endorse or promote products - derived from this software without specific prior - written permission of the ASSIMP Development Team. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ---------------------------------------------------------------------------- - */ - -#pragma once - -namespace AssimpNET -{ - ref class NativeException - { - public: - NativeException(void); - ~NativeException(void); - }; -}//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/Node.cpp b/port/Assimp.NET/Assimp.NET/Node.cpp index 651fcf2cd..eb87d37a2 100644 --- a/port/Assimp.NET/Assimp.NET/Node.cpp +++ b/port/Assimp.NET/Assimp.NET/Node.cpp @@ -6,10 +6,22 @@ namespace AssimpNET Node::Node(void) { + throw gcnew System::NotImplementedException(); } Node::~Node(void) { + throw gcnew System::NotImplementedException(); +} + +Node^ Node::findNode(array^ name) +{ + throw gcnew System::NotImplementedException(); +} + +Node^ Node::findNode(const String^ name) +{ + throw gcnew System::NotImplementedException(); } }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/Node.h b/port/Assimp.NET/Assimp.NET/Node.h index 835c28679..e087addd3 100644 --- a/port/Assimp.NET/Assimp.NET/Node.h +++ b/port/Assimp.NET/Assimp.NET/Node.h @@ -41,6 +41,10 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #pragma once +#include "Matrix4x4.h" + +using namespace System; + namespace AssimpNET { ref class Node @@ -48,5 +52,51 @@ namespace AssimpNET public: Node(void); ~Node(void); + + Node^ findNode(array^ name); + Node^ findNode(const String^ name); + + property array^ mChildren + { + array^ get(){throw gcnew System::NotImplementedException();} + void set(array^ value){throw gcnew System::NotImplementedException();} + } + + property array^ mMeshes + { + array^ get(){throw gcnew System::NotImplementedException();} + void set(array^ value){throw gcnew System::NotImplementedException();} + } + + property String^ mName + { + String^ get(){throw gcnew System::NotImplementedException();} + void set(String^ value){throw gcnew System::NotImplementedException();} + } + + property unsigned int mNumChildren + { + unsigned int get(){throw gcnew System::NotImplementedException();} + void set(unsigned int value){throw gcnew System::NotImplementedException();} + } + + property unsigned int mNumMeshes + { + unsigned int get(){throw gcnew System::NotImplementedException();} + void set(unsigned int value){throw gcnew System::NotImplementedException();} + } + + property Matrix4x4^ mTransformation + { + Matrix4x4^ get(){throw gcnew System::NotImplementedException();} + void set(Matrix4x4^ value){throw gcnew System::NotImplementedException();} + } + + property Node^ mParent + { + Node^ get(){throw gcnew System::NotImplementedException();} + void set(Node^ value){throw gcnew System::NotImplementedException();} + } + }; }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/NodeAnim.cpp b/port/Assimp.NET/Assimp.NET/NodeAnim.cpp index 08f215e7d..cc5a049b8 100644 --- a/port/Assimp.NET/Assimp.NET/NodeAnim.cpp +++ b/port/Assimp.NET/Assimp.NET/NodeAnim.cpp @@ -6,10 +6,12 @@ namespace AssimpNET NodeAnim::NodeAnim(void) { + throw gcnew System::NotImplementedException(); } NodeAnim::~NodeAnim(void) { + throw gcnew System::NotImplementedException(); } }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/NodeAnim.h b/port/Assimp.NET/Assimp.NET/NodeAnim.h index 3fab17941..17f082ca0 100644 --- a/port/Assimp.NET/Assimp.NET/NodeAnim.h +++ b/port/Assimp.NET/Assimp.NET/NodeAnim.h @@ -41,12 +41,81 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #pragma once +#include "VectorKey.h" +#include "QuatKey.h" + +using namespace System; + namespace AssimpNET { + enum AnimBehaviour + { + aiAnimBehaviour_DEFAULT = 0x0, + aiAnimBehaviour_CONSTANT = 0x1, + aiAnimBehaviour_LINEAR = 0x2, + aiAnimBehaviour_REPEAT = 0x3, + _aiAnimBehaviour_Force32Bit = 0x8fffffff + }; + ref class NodeAnim { public: NodeAnim(void); ~NodeAnim(void); + + property String^ mNodeName + { + String^ get(){throw gcnew System::NotImplementedException();} + void set(String^ value){throw gcnew System::NotImplementedException();} + } + + property unsigned int mNumPositionKeys + { + unsigned int get(){throw gcnew System::NotImplementedException();} + void set(unsigned int value){throw gcnew System::NotImplementedException();} + } + + property unsigned int mNumRotationKeys + { + unsigned int get(){throw gcnew System::NotImplementedException();} + void set(unsigned int value){throw gcnew System::NotImplementedException();} + } + + property unsigned int mNumScalingKeys + { + unsigned int get(){throw gcnew System::NotImplementedException();} + void set(unsigned int value){throw gcnew System::NotImplementedException();} + } + + property array^ mPositionKeys + { + array^ get(){throw gcnew System::NotImplementedException();} + void set(array^ value){throw gcnew System::NotImplementedException();} + } + + property AnimBehaviour mPosState + { + AnimBehaviour get(){throw gcnew System::NotImplementedException();} + void set(AnimBehaviour value){throw gcnew System::NotImplementedException();} + } + + property AnimBehaviour mPreState + { + AnimBehaviour get(){throw gcnew System::NotImplementedException();} + void set(AnimBehaviour value){throw gcnew System::NotImplementedException();} + } + + property array^ mRotationKeys + { + array^ get(){throw gcnew System::NotImplementedException();} + void set(array^ value){throw gcnew System::NotImplementedException();} + } + + property array^ mScalingKeys + { + array^ get(){throw gcnew System::NotImplementedException();} + void set(array^ value){throw gcnew System::NotImplementedException();} + } + }; }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/Quaternion.cpp b/port/Assimp.NET/Assimp.NET/Quaternion.cpp index 84104977a..d369a393f 100644 --- a/port/Assimp.NET/Assimp.NET/Quaternion.cpp +++ b/port/Assimp.NET/Assimp.NET/Quaternion.cpp @@ -6,10 +6,77 @@ namespace AssimpNET Quaternion::Quaternion(void) { + throw gcnew System::NotImplementedException(); +} + +Quaternion::Quaternion(Vector3D^ normalized) +{ + throw gcnew System::NotImplementedException(); +} + +Quaternion::Quaternion(Vector3D^ axis, float angle) +{ + throw gcnew System::NotImplementedException(); +} + +Quaternion::Quaternion(float rotx, float roty, float rotz) +{ + throw gcnew System::NotImplementedException(); +} + +Quaternion::Quaternion(const Matrix3x3^ rotMatrix) +{ + throw gcnew System::NotImplementedException(); +} + +Quaternion::Quaternion(float _w, float _x, float _y, float _z) +{ + throw gcnew System::NotImplementedException(); } Quaternion::~Quaternion(void) { + throw gcnew System::NotImplementedException(); +} + +Quaternion^ Quaternion::Conjugate() +{ + throw gcnew System::NotImplementedException(); +} + +Matrix3x3^ Quaternion::GetMatrix() +{ + throw gcnew System::NotImplementedException(); +} + +Quaternion^ Quaternion::Nomalize() +{ + throw gcnew System::NotImplementedException(); +} + +bool Quaternion::operator != (const Quaternion^ q) +{ + throw gcnew System::NotImplementedException(); +} + +bool Quaternion::operator == (const Quaternion^ q) +{ + throw gcnew System::NotImplementedException(); +} + +Quaternion^ Quaternion::operator* (const Quaternion^ q) +{ + throw gcnew System::NotImplementedException(); +} + +Vector3D^ Quaternion::Rotate(const Vector3D^ in) +{ + throw gcnew System::NotImplementedException(); +} + +void Quaternion::Interpolate(Quaternion^ pOut, const Quaternion^ pStart, const Quaternion^ pEnd, float factor) +{ + throw gcnew System::NotImplementedException(); } }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/Quaternion.h b/port/Assimp.NET/Assimp.NET/Quaternion.h index aaa486070..846458620 100644 --- a/port/Assimp.NET/Assimp.NET/Quaternion.h +++ b/port/Assimp.NET/Assimp.NET/Quaternion.h @@ -41,12 +41,61 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #pragma once +#include "Vector3D.h" +//#include "Matrix3x3.h" + + + +using namespace System; + namespace AssimpNET { + ref class Matrix3x3; + ref class Quaternion { public: Quaternion(void); + Quaternion(Vector3D^ normalized); + Quaternion(Vector3D^ axis, float angle); + Quaternion(float rotx, float roty, float rotz); + Quaternion(const Matrix3x3^ rotMatrix); + Quaternion(float _w, float _x, float _y, float _z); ~Quaternion(void); + + Quaternion^ Conjugate(); + Matrix3x3^ GetMatrix(); + Quaternion^ Nomalize(); + bool operator != (const Quaternion^ q); + bool operator == (const Quaternion^ q); + Quaternion^ operator* (const Quaternion^ q); + Vector3D^ Rotate(const Vector3D^ in); + + static void Interpolate(Quaternion^ pOut, const Quaternion^ pStart, const Quaternion^ pEnd, float factor); + + property float x + { + float get() { throw gcnew System::NotImplementedException();} + void set(float value) { throw gcnew System::NotImplementedException();} + } + + property float y + { + float get() { throw gcnew System::NotImplementedException();} + void set(float value) { throw gcnew System::NotImplementedException();} + } + + property float z + { + float get() { throw gcnew System::NotImplementedException();} + void set(float value) { throw gcnew System::NotImplementedException();} + } + + property float w + { + float get() { throw gcnew System::NotImplementedException();} + void set(float value) { throw gcnew System::NotImplementedException();} + } + }; }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/Scene.cpp b/port/Assimp.NET/Assimp.NET/Scene.cpp index 8a8ad4b83..8e40e5bbd 100644 --- a/port/Assimp.NET/Assimp.NET/Scene.cpp +++ b/port/Assimp.NET/Assimp.NET/Scene.cpp @@ -6,10 +6,42 @@ namespace AssimpNET Scene::Scene(void) { + throw gcnew System::NotImplementedException(); } Scene::~Scene(void) { + throw gcnew System::NotImplementedException(); +} + +bool Scene::HasAnimations() +{ + throw gcnew System::NotImplementedException(); +} + +bool Scene::HasCameras() +{ + throw gcnew System::NotImplementedException(); +} + +bool Scene::HasLights() +{ + throw gcnew System::NotImplementedException(); +} + +bool Scene::HasMaterials() +{ + throw gcnew System::NotImplementedException(); +} + +bool Scene::HasMeshes() +{ + throw gcnew System::NotImplementedException(); +} + +bool Scene::HasTextures() +{ + throw gcnew System::NotImplementedException(); } }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/Scene.h b/port/Assimp.NET/Assimp.NET/Scene.h index e2dcecba0..cb191e0b0 100644 --- a/port/Assimp.NET/Assimp.NET/Scene.h +++ b/port/Assimp.NET/Assimp.NET/Scene.h @@ -41,6 +41,16 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #pragma once +#include "Animation.h" +#include "Camera.h" +#include "Light.h" +#include "Material.h" +#include "Mesh.h" +#include "Node.h" +#include "Texture.h" + +using namespace System; + namespace AssimpNET { ref class Scene @@ -48,5 +58,83 @@ namespace AssimpNET public: Scene(void); ~Scene(void); + bool HasAnimations(); + bool HasCameras(); + bool HasLights(); + bool HasMaterials(); + bool HasMeshes(); + bool HasTextures(); + + property array^ mAnimations + { + array^ get(){throw gcnew System::NotImplementedException();} + void set(array^ value){throw gcnew System::NotImplementedException();} + } + property array^ mCameras + { + array^ get(){throw gcnew System::NotImplementedException();} + void set(array^ value){throw gcnew System::NotImplementedException();} + } + property unsigned int mFlags + { + unsigned int get(){throw gcnew System::NotImplementedException();} + void set(unsigned int value){throw gcnew System::NotImplementedException();} + } + property array^ mLights + { + array^ get(){throw gcnew System::NotImplementedException();} + void set(array^ value){throw gcnew System::NotImplementedException();} + } + property array^ mMaterials + { + array^ get(){throw gcnew System::NotImplementedException();} + void set(array^ value){throw gcnew System::NotImplementedException();} + } + property array^ mMeshes + { + array^ get(){throw gcnew System::NotImplementedException();} + void set(array^ value){throw gcnew System::NotImplementedException();} + } + property unsigned int mNumAnimations + { + unsigned int get(){throw gcnew System::NotImplementedException();} + void set(unsigned int value){throw gcnew System::NotImplementedException();} + } + property unsigned int mNumCameras + { + unsigned int get(){throw gcnew System::NotImplementedException();} + void set(unsigned int value){throw gcnew System::NotImplementedException();} + } + property unsigned int mNumLights + { + unsigned int get(){throw gcnew System::NotImplementedException();} + void set(unsigned int value){throw gcnew System::NotImplementedException();} + } + property unsigned int mNumMaterials + { + unsigned int get(){throw gcnew System::NotImplementedException();} + void set(unsigned int value){throw gcnew System::NotImplementedException();} + } + property unsigned int mNumMeshes + { + unsigned int get(){throw gcnew System::NotImplementedException();} + void set(unsigned int value){throw gcnew System::NotImplementedException();} + } + property unsigned int mNumTextures + { + unsigned int get(){throw gcnew System::NotImplementedException();} + void set(unsigned int value){throw gcnew System::NotImplementedException();} + } + property Node^ mRootNode + { + Node^ get(){throw gcnew System::NotImplementedException();} + void set(Node^ value){throw gcnew System::NotImplementedException();} + } + property array^ mTextures + { + array^ get(){throw gcnew System::NotImplementedException();} + void set(array^ value){throw gcnew System::NotImplementedException();} + } + }; }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/Texture.cpp b/port/Assimp.NET/Assimp.NET/Texture.cpp index 4c2212274..daaae3f5d 100644 --- a/port/Assimp.NET/Assimp.NET/Texture.cpp +++ b/port/Assimp.NET/Assimp.NET/Texture.cpp @@ -6,10 +6,17 @@ namespace AssimpNET Texture::Texture(void) { + throw gcnew System::NotImplementedException(); } Texture::~Texture(void) { + throw gcnew System::NotImplementedException(); +} + +bool Texture::CheckFormat(array^ s) +{ + throw gcnew System::NotImplementedException(); } }//namespace \ No newline at end of file diff --git a/port/Assimp.NET/Assimp.NET/Texture.h b/port/Assimp.NET/Assimp.NET/Texture.h index 44052fcd4..425971746 100644 --- a/port/Assimp.NET/Assimp.NET/Texture.h +++ b/port/Assimp.NET/Assimp.NET/Texture.h @@ -41,13 +41,84 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #pragma once +#include "Texel.h" + +using namespace System; + namespace AssimpNET { + enum TextureType + { + aiTextureType_NONE, + aiTextureType_DIFFUSE, + aiTextureType_SPECULAR, + aiTextureType_AMBIENT, + aiTextureType_EMISSIVE, + aiTextureType_HEIGHT, + aiTextureType_NORMALS, + aiTextureType_SHININESS, + aiTextureType_OPACITY, + aiTextureType_DISPLACEMENT, + aiTextureType_LIGHTMAP, + aiTextureType_REFLECTION, + aiTextureType_UNKNOWN + }; + + enum TextureMapping + { + aiTextureMapping_UV, + aiTextureMapping_SPHERE, + aiTextureMapping_CYLINDER, + aiTextureMapping_BOX, + aiTextureMapping_PLANE, + aiTextureMapping_OTHER + }; + + enum TextureOP + { + aiTextureOp_Multiply, + aiTextureOp_Add, + aiTextureOp_Subtract, + aiTextureOp_Divide, + aiTextureOp_SmoothAdd, + aiTextureOp_SignedAdd + }; + + enum TextureMapMode + { + TextureMapMode_Wrap, + TextureMapMode_Clamp, + TextureMapMode_Decal, + TextureMapMode_Mirror + }; + ref class Texture { public: Texture(void); ~Texture(void); + + bool CheckFormat(array^ s); + + property array^ achFormatHint + { + array^ get(){throw gcnew System::NotImplementedException();} + void set(array^ value){throw gcnew System::NotImplementedException();} + } + + property unsigned int mHeight + { + unsigned int get(){throw gcnew System::NotImplementedException();} + void set(unsigned int value){throw gcnew System::NotImplementedException();} + } + + property unsigned int mWidth + { + unsigned int get(){throw gcnew System::NotImplementedException();} + void set(unsigned int value){throw gcnew System::NotImplementedException();} + } + + property Texel^ pcData; }; }//namespace \ No newline at end of file diff --git a/workspaces/vc9/assimp.sln b/workspaces/vc9/assimp.sln index aee1d5831..8f930a733 100644 --- a/workspaces/vc9/assimp.sln +++ b/workspaces/vc9/assimp.sln @@ -108,7 +108,6 @@ Global {9B9D1C90-8A03-409A-B547-AE7B48B90F1A}.debug|x64.ActiveCfg = debug|x64 {9B9D1C90-8A03-409A-B547-AE7B48B90F1A}.debug|x64.Build.0 = debug|x64 {9B9D1C90-8A03-409A-B547-AE7B48B90F1A}.debug-dll|Win32.ActiveCfg = debug-dll|Win32 - {9B9D1C90-8A03-409A-B547-AE7B48B90F1A}.debug-dll|Win32.Build.0 = debug-dll|Win32 {9B9D1C90-8A03-409A-B547-AE7B48B90F1A}.debug-dll|x64.ActiveCfg = debug-dll|x64 {9B9D1C90-8A03-409A-B547-AE7B48B90F1A}.debug-dll|x64.Build.0 = debug-dll|x64 {9B9D1C90-8A03-409A-B547-AE7B48B90F1A}.debug-noboost-st|Win32.ActiveCfg = debug-noboost-st|Win32