From: <mog...@li...> - 2008-12-14 05:09:11
|
Revision: 252 http://mogre.svn.sourceforge.net/mogre/?rev=252&view=rev Author: gnometank Date: 2008-12-14 05:09:02 +0000 (Sun, 14 Dec 2008) Log Message: ----------- Initial check-in of 1.6 WIP code. ** CURRENTLY DOES NOT COMPILE ** Modified Paths: -------------- trunk/Mogre/AutoWrap/Attributes.xml trunk/Mogre/AutoWrap/Meta/Attributes.cs trunk/Mogre/AutoWrap/Meta/ClassProducer.cs trunk/Mogre/AutoWrap/Meta/CppClassProducer.cs trunk/Mogre/AutoWrap/Meta/DefExplicitTypes.cs trunk/Mogre/AutoWrap/Meta/DefNameSpace.cs trunk/Mogre/AutoWrap/Meta/DefType.cs trunk/Mogre/AutoWrap/Meta/IncClassProducer.cs trunk/Mogre/AutoWrap/Meta/IncValueClassProducer.cs trunk/Mogre/AutoWrap/Meta/Wrapper.cs trunk/Mogre/Mogre/Mogre_vc9.vcproj trunk/Mogre/Mogre/include/Custom/MogreMatrix3.h trunk/Mogre/Mogre/include/Custom/MogreQuaternion.h trunk/Mogre/Mogre/include/Custom/MogreRect.h trunk/Mogre/Mogre/include/Custom/MogreVector3.h trunk/Mogre/Mogre/include/Marshalling.h trunk/Mogre/Mogre/include/Prerequisites.h trunk/Mogre/Mogre/include/STLMultiMap.h trunk/Mogre/Mogre/include/auto/MakePublicDeclarations.h trunk/Mogre/Mogre/include/auto/MogreAnimable.h trunk/Mogre/Mogre/include/auto/MogreAnimation.h trunk/Mogre/Mogre/include/auto/MogreAnimationState.h trunk/Mogre/Mogre/include/auto/MogreAnimationTrack.h trunk/Mogre/Mogre/include/auto/MogreArchive.h trunk/Mogre/Mogre/include/auto/MogreArchiveManager.h trunk/Mogre/Mogre/include/auto/MogreBillboardChain.h trunk/Mogre/Mogre/include/auto/MogreBillboardParticleRenderer.h trunk/Mogre/Mogre/include/auto/MogreBillboardSet.h trunk/Mogre/Mogre/include/auto/MogreBorderPanelOverlayElement.h trunk/Mogre/Mogre/include/auto/MogreCamera.h trunk/Mogre/Mogre/include/auto/MogreCodec.h trunk/Mogre/Mogre/include/auto/MogreCommon.h trunk/Mogre/Mogre/include/auto/MogreCompositionPass.h trunk/Mogre/Mogre/include/auto/MogreCompositionTechnique.h trunk/Mogre/Mogre/include/auto/MogreCompositorInstance.h trunk/Mogre/Mogre/include/auto/MogreConfigFile.h trunk/Mogre/Mogre/include/auto/MogreDDSCodec.h trunk/Mogre/Mogre/include/auto/MogreEntity.h trunk/Mogre/Mogre/include/auto/MogreException.h trunk/Mogre/Mogre/include/auto/MogreFileSystem.h trunk/Mogre/Mogre/include/auto/MogreFont.h trunk/Mogre/Mogre/include/auto/MogreFrameListener.h trunk/Mogre/Mogre/include/auto/MogreFrustum.h trunk/Mogre/Mogre/include/auto/MogreGpuProgram.h trunk/Mogre/Mogre/include/auto/MogreGpuProgramManager.h trunk/Mogre/Mogre/include/auto/MogreHardwareBufferManager.h trunk/Mogre/Mogre/include/auto/MogreHighLevelGpuProgram.h trunk/Mogre/Mogre/include/auto/MogreILImageCodec.h trunk/Mogre/Mogre/include/auto/MogreImage.h trunk/Mogre/Mogre/include/auto/MogreInstancedGeometry.h trunk/Mogre/Mogre/include/auto/MogreLight.h trunk/Mogre/Mogre/include/auto/MogreLog.h trunk/Mogre/Mogre/include/auto/MogreLogManager.h trunk/Mogre/Mogre/include/auto/MogreManualObject.h trunk/Mogre/Mogre/include/auto/MogreMaterial.h trunk/Mogre/Mogre/include/auto/MogreMaterialManager.h trunk/Mogre/Mogre/include/auto/MogreMesh.h trunk/Mogre/Mogre/include/auto/MogreMeshManager.h trunk/Mogre/Mogre/include/auto/MogreMeshSerializer.h trunk/Mogre/Mogre/include/auto/MogreMovableObject.h trunk/Mogre/Mogre/include/auto/MogreMovablePlane.h trunk/Mogre/Mogre/include/auto/MogreNode.h trunk/Mogre/Mogre/include/auto/MogreOverlay.h trunk/Mogre/Mogre/include/auto/MogreOverlayContainer.h trunk/Mogre/Mogre/include/auto/MogreOverlayElement.h trunk/Mogre/Mogre/include/auto/MogreParticleSystem.h trunk/Mogre/Mogre/include/auto/MogreParticleSystemRenderer.h trunk/Mogre/Mogre/include/auto/MogrePass.h trunk/Mogre/Mogre/include/auto/MogrePixelFormat.h trunk/Mogre/Mogre/include/auto/MogrePlatform.h trunk/Mogre/Mogre/include/auto/MogreRenderQueue.h trunk/Mogre/Mogre/include/auto/MogreRenderQueueSortingGrouping.h trunk/Mogre/Mogre/include/auto/MogreRenderSystem.h trunk/Mogre/Mogre/include/auto/MogreRenderSystemCapabilities.h trunk/Mogre/Mogre/include/auto/MogreRenderTarget.h trunk/Mogre/Mogre/include/auto/MogreRenderTexture.h trunk/Mogre/Mogre/include/auto/MogreRenderWindow.h trunk/Mogre/Mogre/include/auto/MogreRenderable.h trunk/Mogre/Mogre/include/auto/MogreResource.h trunk/Mogre/Mogre/include/auto/MogreResourceBackgroundQueue.h trunk/Mogre/Mogre/include/auto/MogreResourceGroupManager.h trunk/Mogre/Mogre/include/auto/MogreResourceManager.h trunk/Mogre/Mogre/include/auto/MogreRoot.h trunk/Mogre/Mogre/include/auto/MogreSceneManager.h trunk/Mogre/Mogre/include/auto/MogreSceneNode.h trunk/Mogre/Mogre/include/auto/MogreShadowCameraSetup.h trunk/Mogre/Mogre/include/auto/MogreShadowCameraSetupFocused.h trunk/Mogre/Mogre/include/auto/MogreShadowCameraSetupLiSPSM.h trunk/Mogre/Mogre/include/auto/MogreShadowCameraSetupPlaneOptimal.h trunk/Mogre/Mogre/include/auto/MogreShadowCaster.h trunk/Mogre/Mogre/include/auto/MogreSimpleRenderable.h trunk/Mogre/Mogre/include/auto/MogreSkeleton.h trunk/Mogre/Mogre/include/auto/MogreStaticGeometry.h trunk/Mogre/Mogre/include/auto/MogreStringConverter.h trunk/Mogre/Mogre/include/auto/MogreSubEntity.h trunk/Mogre/Mogre/include/auto/MogreSubMesh.h trunk/Mogre/Mogre/include/auto/MogreTechnique.h trunk/Mogre/Mogre/include/auto/MogreTexture.h trunk/Mogre/Mogre/include/auto/MogreTextureManager.h trunk/Mogre/Mogre/include/auto/MogreTextureUnitState.h trunk/Mogre/Mogre/include/auto/MogreUnifiedHighLevelGpuProgram.h trunk/Mogre/Mogre/include/auto/MogreWindowEventUtilities.h trunk/Mogre/Mogre/include/auto/MogreZip.h trunk/Mogre/Mogre/include/auto/PreDeclarations.h trunk/Mogre/Mogre/src/Marshalling.cpp trunk/Mogre/Mogre/src/SubclassingManager.cpp trunk/Mogre/Mogre/src/auto/MogreAnimable.cpp trunk/Mogre/Mogre/src/auto/MogreAnimation.cpp trunk/Mogre/Mogre/src/auto/MogreAnimationState.cpp trunk/Mogre/Mogre/src/auto/MogreAnimationTrack.cpp trunk/Mogre/Mogre/src/auto/MogreArchive.cpp trunk/Mogre/Mogre/src/auto/MogreArchiveManager.cpp trunk/Mogre/Mogre/src/auto/MogreBillboardChain.cpp trunk/Mogre/Mogre/src/auto/MogreBillboardParticleRenderer.cpp trunk/Mogre/Mogre/src/auto/MogreBillboardSet.cpp trunk/Mogre/Mogre/src/auto/MogreBorderPanelOverlayElement.cpp trunk/Mogre/Mogre/src/auto/MogreCamera.cpp trunk/Mogre/Mogre/src/auto/MogreCodec.cpp trunk/Mogre/Mogre/src/auto/MogreCompositionPass.cpp trunk/Mogre/Mogre/src/auto/MogreCompositionTechnique.cpp trunk/Mogre/Mogre/src/auto/MogreCompositorInstance.cpp trunk/Mogre/Mogre/src/auto/MogreConfigFile.cpp trunk/Mogre/Mogre/src/auto/MogreDDSCodec.cpp trunk/Mogre/Mogre/src/auto/MogreEntity.cpp trunk/Mogre/Mogre/src/auto/MogreException.cpp trunk/Mogre/Mogre/src/auto/MogreFileSystem.cpp trunk/Mogre/Mogre/src/auto/MogreFont.cpp trunk/Mogre/Mogre/src/auto/MogreFrameListener.cpp trunk/Mogre/Mogre/src/auto/MogreFrustum.cpp trunk/Mogre/Mogre/src/auto/MogreGpuProgram.cpp trunk/Mogre/Mogre/src/auto/MogreGpuProgramManager.cpp trunk/Mogre/Mogre/src/auto/MogreHardwareBufferManager.cpp trunk/Mogre/Mogre/src/auto/MogreHighLevelGpuProgram.cpp trunk/Mogre/Mogre/src/auto/MogreILImageCodec.cpp trunk/Mogre/Mogre/src/auto/MogreImage.cpp trunk/Mogre/Mogre/src/auto/MogreInstancedGeometry.cpp trunk/Mogre/Mogre/src/auto/MogreLight.cpp trunk/Mogre/Mogre/src/auto/MogreLog.cpp trunk/Mogre/Mogre/src/auto/MogreLogManager.cpp trunk/Mogre/Mogre/src/auto/MogreManualObject.cpp trunk/Mogre/Mogre/src/auto/MogreMaterial.cpp trunk/Mogre/Mogre/src/auto/MogreMaterialManager.cpp trunk/Mogre/Mogre/src/auto/MogreMesh.cpp trunk/Mogre/Mogre/src/auto/MogreMeshManager.cpp trunk/Mogre/Mogre/src/auto/MogreMeshSerializer.cpp trunk/Mogre/Mogre/src/auto/MogreMovableObject.cpp trunk/Mogre/Mogre/src/auto/MogreMovablePlane.cpp trunk/Mogre/Mogre/src/auto/MogreNode.cpp trunk/Mogre/Mogre/src/auto/MogreOverlay.cpp trunk/Mogre/Mogre/src/auto/MogreOverlayContainer.cpp trunk/Mogre/Mogre/src/auto/MogreOverlayElement.cpp trunk/Mogre/Mogre/src/auto/MogreParticleSystem.cpp trunk/Mogre/Mogre/src/auto/MogreParticleSystemRenderer.cpp trunk/Mogre/Mogre/src/auto/MogrePass.cpp trunk/Mogre/Mogre/src/auto/MogrePixelFormat.cpp trunk/Mogre/Mogre/src/auto/MogreRenderQueue.cpp trunk/Mogre/Mogre/src/auto/MogreRenderQueueSortingGrouping.cpp trunk/Mogre/Mogre/src/auto/MogreRenderSystem.cpp trunk/Mogre/Mogre/src/auto/MogreRenderSystemCapabilities.cpp trunk/Mogre/Mogre/src/auto/MogreRenderTarget.cpp trunk/Mogre/Mogre/src/auto/MogreRenderTexture.cpp trunk/Mogre/Mogre/src/auto/MogreRenderWindow.cpp trunk/Mogre/Mogre/src/auto/MogreRenderable.cpp trunk/Mogre/Mogre/src/auto/MogreResource.cpp trunk/Mogre/Mogre/src/auto/MogreResourceBackgroundQueue.cpp trunk/Mogre/Mogre/src/auto/MogreResourceGroupManager.cpp trunk/Mogre/Mogre/src/auto/MogreResourceManager.cpp trunk/Mogre/Mogre/src/auto/MogreRoot.cpp trunk/Mogre/Mogre/src/auto/MogreSceneManager.cpp trunk/Mogre/Mogre/src/auto/MogreSceneNode.cpp trunk/Mogre/Mogre/src/auto/MogreShadowCameraSetup.cpp trunk/Mogre/Mogre/src/auto/MogreShadowCameraSetupFocused.cpp trunk/Mogre/Mogre/src/auto/MogreShadowCameraSetupLiSPSM.cpp trunk/Mogre/Mogre/src/auto/MogreShadowCameraSetupPlaneOptimal.cpp trunk/Mogre/Mogre/src/auto/MogreShadowCaster.cpp trunk/Mogre/Mogre/src/auto/MogreSimpleRenderable.cpp trunk/Mogre/Mogre/src/auto/MogreSkeleton.cpp trunk/Mogre/Mogre/src/auto/MogreStaticGeometry.cpp trunk/Mogre/Mogre/src/auto/MogreStringConverter.cpp trunk/Mogre/Mogre/src/auto/MogreSubEntity.cpp trunk/Mogre/Mogre/src/auto/MogreSubMesh.cpp trunk/Mogre/Mogre/src/auto/MogreTechnique.cpp trunk/Mogre/Mogre/src/auto/MogreTextAreaOverlayElement.cpp trunk/Mogre/Mogre/src/auto/MogreTexture.cpp trunk/Mogre/Mogre/src/auto/MogreTextureManager.cpp trunk/Mogre/Mogre/src/auto/MogreTextureUnitState.cpp trunk/Mogre/Mogre/src/auto/MogreUnifiedHighLevelGpuProgram.cpp trunk/Mogre/Mogre/src/auto/MogreWindowEventUtilities.cpp trunk/Mogre/Mogre/src/auto/MogreZip.cpp trunk/Mogre/Mogre_vc9.sln trunk/Mogre/cpp2java/ogre4j.doxygen Added Paths: ----------- trunk/Mogre/Mogre/include/auto/MogreRenderSystemCapabilitiesManager.h trunk/Mogre/Mogre/include/auto/MogreRenderToVertexBuffer.h trunk/Mogre/Mogre/include/auto/MogreShadowCameraSetupPSSM.h trunk/Mogre/Mogre/src/auto/MogreRenderSystemCapabilitiesManager.cpp trunk/Mogre/Mogre/src/auto/MogreRenderToVertexBuffer.cpp trunk/Mogre/Mogre/src/auto/MogreShadowCameraSetupPSSM.cpp Modified: trunk/Mogre/AutoWrap/Attributes.xml =================================================================== --- trunk/Mogre/AutoWrap/Attributes.xml 2008-12-06 04:42:38 UTC (rev 251) +++ trunk/Mogre/AutoWrap/Attributes.xml 2008-12-14 05:09:02 UTC (rev 252) @@ -8,19 +8,67 @@ <class name="Node" Overridable=""/> --> + <!-- Ignore the new type allocator classes --> + <class name="CategorisedAllocPolicy" Ignore="" /> + <typedef name="GeneralAllocPolicy" Ignore="" /> + <typedef name="GeometryAllocPolicy" Ignore="" /> + <typedef name="AnimationAllocPolicy" Ignore="" /> + <typedef name="SceneCtlAllocPolicy" Ignore="" /> + <typedef name="SceneObjAllocPolicy" Ignore="" /> + <typedef name="ResourceAllocPolicy" Ignore="" /> + <typedef name="ScriptingAllocPolicy" Ignore="" /> + <typedef name="RenderSysAllocPolicy" Ignore="" /> + + <!-- Ignore the script compiler classes for now --> + <class name="ScriptToken" Ignore="" /> + <class name="ScriptTokenPtr" Ignore="" /> + <class name="ScriptCompiler" Ignore="" /> + <class name="ScriptLexer" Ignore="" /> + + <class name="MeshSerializerListener" WrapType="Interface" /> + <class name="PSSMShadowCameraSetup"> + <function name="getOptimalAdjustFactor" Ignore="" /> + <function name="setOptimalAdjustFactor" Ignore="" /> + <_CustomIncDeclaration> +public: + property Mogre::Real OptimalAdjustFactor { + public: + Mogre::Real get() { + return static_cast<Ogre::PSSMShadowCameraSetup*>(_native)->getOptimalAdjustFactor(); + } + } + void SetOptimalAdjustFactor(int idx, Mogre::Real factor) { + static_cast<Ogre::PSSMShadowCameraSetup*>(_native)->setOptimalAdjustFactor(idx, factor); + } + </_CustomIncDeclaration> + </class> + + <class name="MaterialManager"> + <class name="Listener" WrapType="Interface" /> + </class> + + <class name="BackgroundProcessResult" WrapType="CLRHandle"> + <variable name="error" Rename="Error" /> + <variable name="message" Rename="Message" /> + </class> + <!-- Wrap this class is not necesary for Unicode Support--> <class name="UTFString" Ignore=""/> <class name="Pass"> <!-- Must handle "operator()" function first --> - <class name="HashFunc" Ignore=""/> + <!-- For some reason, this is no longer in the meta for 1.6? It still exists, but I believe it was made private --> + <!--<class name="HashFunc" Ignore=""/>--> </class> <class name="UnifiedHighLevelGpuProgram"> <!-- There are conflicts with addListener/removeListener from the base Resource class --> <function name="addListener" Ignore=""/> <function name="removeListener" Ignore=""/> </class> - + <class name="AnimationTrack"> + <class name="Listener" WrapType="Interface"> + <!--<function name="getInterpolatedKeyFrame" DefaultReturnValue="false" />--> + </class> <!-- They are internal methods, and std::vector<Real> as parameter isn't getting wrapped properly at the moment --> <function name="_collectKeyFrameTimes" Ignore=""/> <function name="_buildKeyFrameIndexMap" Ignore=""/> @@ -35,6 +83,15 @@ <function name="softwareVertexBlend" Ignore=""/> </class> + <class name="DriverVersion" WrapType="ValueType" SequentialLayout=""> + <function name="toString" Ignore="" /> + <_CustomIncDeclaration> + public: + virtual System::String^ ToString() override { + return System::String::Format("{0}.{1}.{2}.{3}", major, minor, release, build); + } + </_CustomIncDeclaration> + </class> <class name="TimeIndex" WrapType="CLRHandle"/> <class name="VisibleObjectsBoundsInfo" WrapType="NativePtrValueType"/> <class name="ShadowTextureConfig" WrapType="ValueType"/> @@ -49,7 +106,8 @@ <class name="SubMeshLodGeometryLink" Ignore=""/> <class name="InstancedObject" WrapType="CLRHandle"/> <class name="BatchInstance"> - <function name="getObjectsAsArray" Ignore=""/> + <!-- Removed in 1.6 + <function name="getObjectsAsArray" Ignore=""/>--> </class> </class> <class name="EdgeData"> @@ -153,7 +211,25 @@ </class> <!-- class name="Profiler" Ignore=""/ --> <class name="AutoParamDataSource" Ignore=""/> - <class name="Renderable" WrapType="Interface"/> + <class name="Renderable" WrapType="Interface"> + <class name="Visitor" WrapType="Interface" /> + <class name="RenderSystemData" Ignore="" /> + <function name="getRenderSystemData" Ignore="" /> + <function name="setRenderSystemData" Ignore="" /> + <function name="getUserAny" Ignore="" /> + <function name="setUserAny" Ignore="" /> + <_CustomCppDeclaration> + #define STLDECL_MANAGEDKEY size_t + #define STLDECL_MANAGEDVALUE Mogre::Vector4 + #define STLDECL_NATIVEKEY size_t + #define STLDECL_NATIVEVALUE Ogre::Vector4 + CPP_DECLARE_STLMAP( Renderable::, CustomParameterMap, STLDECL_MANAGEDKEY, STLDECL_MANAGEDVALUE, STLDECL_NATIVEKEY, STLDECL_NATIVEVALUE ) + #undef STLDECL_MANAGEDKEY + #undef STLDECL_MANAGEDVALUE + #undef STLDECL_NATIVEKEY + #undef STLDECL_NATIVEVALUE + </_CustomCppDeclaration> + </class> <class name="RenderQueue"> <class name="RenderableListener" WrapType="Interface"/> </class> @@ -256,6 +332,7 @@ <class name="FrameListener"> <function name="frameStarted" DefaultReturnValue="true"/> <function name="frameEnded" DefaultReturnValue="true"/> + <function name="frameRenderingQueued" DefaultReturnValue="true" /> </class> <typedef name="SceneTypeMask" ReplaceBy="SceneType"/> @@ -288,7 +365,33 @@ </class> <class name="VertexData" WrapType="CLRHandle"/> <class name="TextureUnitState" WrapType="CLRHandle"/> - <class name="Technique" WrapType="CLRHandle"/> + <class name="Technique" WrapType="CLRHandle"> + <function name="checkGPURules" Ignore="" /> + <function name="checkHardwareSupport" Ignore="" /> + <class name="GPUVendorRule" WrapType="CLRHandle"> + <variable name="vendor" Rename="Vendor" /> + <variable name="includeOrExclude" Rename="IncludeOrExclude" /> + </class> + <class name="GPUDeviceNameRule" WrapType="CLRHandle"> + <variable name="devicePattern" Ignore="" /> + <variable name="includeOrExclude" Rename="IncludeOrExclude" /> + <variable name="caseSensitive" Rename="CaseSensitive" /> + <_CustomIncDeclaration> + public: + property String^ DevicePattern { + public: + String^ get() { + return TO_CLR_STRING(_native->devicePattern); + } + public: + void set(String^ dp) { + DECLARE_NATIVE_STRING(odp, dp); + _native->devicePattern = odp; + } + } + </_CustomIncDeclaration> + </class> + </class> <class name="SubMesh" WrapType="CLRHandle"/> <class name="SimpleSpline" WrapType="CLRHandle"/> <class name="RotationalSpline" WrapType="CLRHandle"/> @@ -296,14 +399,23 @@ <class name="RenderQueueGroup" WrapType="CLRHandle"/> <class name="RenderPriorityGroup" WrapType="CLRHandle"/> <class name="PatchSurface" WrapType="CLRHandle"/> - <class name="Pass" WrapType="CLRHandle"/> + <class name="Pass" WrapType="CLRHandle"> + <function name="setHashFunction" Ignore="" /> + <function name="getHashFunction" Ignore="" /> + </class> <class name="CompositionTargetPass" WrapType="CLRHandle"/> - <class name="CompositionPass" WrapType="CLRHandle"/> + <class name="CompositionPass" WrapType="CLRHandle"> + <class name="InputTex" WrapType="CLRHandle" /> + </class> <class name="Billboard" WrapType="CLRHandle"/> <class name="AnimationStateSet" WrapType="CLRHandle"/> <class name="IndexData" WrapType="CLRHandle"/> <class name="PlaneBoundedVolume" WrapType="CLRHandle" DoCleanupInFinalizer=""/> - <class name="Log" WrapType="CLRHandle"/> + <class name="Log" WrapType="CLRHandle"> + <class name="Stream" WrapType="CLRHandle"> + </class> + <function name="stream" Rename="GetStream" /> + </class> <class name="ColourValue" ValueType=""/> <class name="Plane" ValueType=""/> @@ -357,6 +469,8 @@ <class name="Listener" WrapType="Interface"/> <!-- If isVisible is property it gets hidden by the Frustum::isVisible method --> <function name="isVisible" Method=""/> + <function name="setUserAny" Ignore="" /> + <function name="getUserAny" Ignore="" /> <_CustomIncDeclaration> protected: Object^ _userObject; @@ -385,6 +499,17 @@ </class> <class name="AnimableObject" WrapType="Interface"> + <_CustomCppDeclaration> + #define STLDECL_MANAGEDKEY String^ + #define STLDECL_MANAGEDVALUE Mogre::StringVector^ + #define STLDECL_NATIVEKEY Ogre::String + #define STLDECL_NATIVEVALUE Ogre::StringVector + CPP_DECLARE_STLMAP( AnimableObject::, AnimableDictionaryMap, STLDECL_MANAGEDKEY, STLDECL_MANAGEDVALUE, STLDECL_NATIVEKEY, STLDECL_NATIVEVALUE ) + #undef STLDECL_MANAGEDKEY + #undef STLDECL_MANAGEDVALUE + #undef STLDECL_NATIVEKEY + #undef STLDECL_NATIVEVALUE + </_CustomCppDeclaration> </class> <class name="RenderTarget"> @@ -404,14 +529,16 @@ <function name="getName" Cached=""/> <function name="getRenderQueue" Cached=""/> <function name="showBoundingBoxes" Rename="setShowBoundingBoxes"/> + <class name="Listener" WrapType="Interface" /> </class> <class name="LogListener" WrapType="NativeDirector"/> - <class name="ShadowListener" WrapType="NativeDirector"> + <!--<class name="ShadowListener" WrapType="NativeDirector"> <function name="sortLightsAffectingFrustum" DefaultReturnValue="false"/> - </class> + </class>--> <class name="RenderQueueListener" WrapType="NativeDirector"/> <class name="ResourceGroupListener" WrapType="NativeDirector"/> + <class name="ResourceLoadingListener" WrapType="Interface" /> <class name="FrameListener" WrapType="NativeDirector" StopDelegationForReturn="false"/> <class name="RenderTargetListener" WrapType="NativeDirector"/> <class name="CompositorInstance"> Modified: trunk/Mogre/AutoWrap/Meta/Attributes.cs =================================================================== --- trunk/Mogre/AutoWrap/Meta/Attributes.cs 2008-12-06 04:42:38 UTC (rev 251) +++ trunk/Mogre/AutoWrap/Meta/Attributes.cs 2008-12-14 05:09:02 UTC (rev 252) @@ -554,4 +554,16 @@ return new CustomClassAttribute(); } } + + public class SequentialLayoutAttribute : AutoWrapAttribute { + public static SequentialLayoutAttribute FromElement(XmlElement elem) { + return new SequentialLayoutAttribute (); + } + } + + public class GlobalScopeAttribute : AutoWrapAttribute { + public static GlobalScopeAttribute FromElement(XmlElement elem) { + return new GlobalScopeAttribute (); + } + } } Modified: trunk/Mogre/AutoWrap/Meta/ClassProducer.cs =================================================================== --- trunk/Mogre/AutoWrap/Meta/ClassProducer.cs 2008-12-06 04:42:38 UTC (rev 251) +++ trunk/Mogre/AutoWrap/Meta/ClassProducer.cs 2008-12-14 05:09:02 UTC (rev 252) @@ -616,8 +616,11 @@ List<DefType> rest = new List<DefType>(); List<DefType> typedefs = new List<DefType>(); + // Only output nested types on interfaces if we are the abstract class + if(_t.IsInterface && !((this is IncOverridableClassProducer) || (this is CppOverridableClassProducer))) { + return; + } - foreach (DefType nested in _t.NestedTypes) { if (nested.ProtectionType == ProtectionType.Public @@ -677,6 +680,11 @@ foreach (DefType nested in iterators) AddNestedType(nested); + // Exit out here if this is CPP + if((this is CppOverridableClassProducer)) { + return; + } + //Add STL wrappers for fields that doesn't have proper typedefs List<string> stls = new List<string>(); Modified: trunk/Mogre/AutoWrap/Meta/CppClassProducer.cs =================================================================== --- trunk/Mogre/AutoWrap/Meta/CppClassProducer.cs 2008-12-06 04:42:38 UTC (rev 251) +++ trunk/Mogre/AutoWrap/Meta/CppClassProducer.cs 2008-12-14 05:09:02 UTC (rev 252) @@ -69,6 +69,10 @@ { base.AddInternalDeclarations(); + if(_t.IsNested && _t.IsInterface) { + return; + } + foreach (DefClass cls in _interfaces) { _sb.AppendLine(cls.FullNativeName + "* " + GetClassName() + "::_" + cls.CLRName + "_GetNativePtr()"); @@ -570,7 +574,7 @@ protected override void AddPropertyField(DefField field) { string ptype = GetCLRTypeName(field); - string pname = GetClassName() + "::" + field.Name; + string pname = GetClassName () + "::" + (field.HasAttribute<RenameAttribute>() ? field.GetAttribute<RenameAttribute> ().Name : field.Name); if (field.IsNativeArray) { Modified: trunk/Mogre/AutoWrap/Meta/DefExplicitTypes.cs =================================================================== --- trunk/Mogre/AutoWrap/Meta/DefExplicitTypes.cs 2008-12-06 04:42:38 UTC (rev 251) +++ trunk/Mogre/AutoWrap/Meta/DefExplicitTypes.cs 2008-12-14 05:09:02 UTC (rev 252) @@ -1336,6 +1336,7 @@ case PassedByType.Reference: return "TO_CLR_STRING( " + expr + " )"; case PassedByType.Pointer: + return "gcnew array<String^> { (" + expr + " ? TO_CLR_STRING( *" + expr + " ) : String::Empty) }"; case PassedByType.PointerPointer: default: throw new Exception("Unexpected"); @@ -1483,6 +1484,121 @@ } } + class DefUtfString : DefType, IDefString { + public override string FullNativeName { + get { + return "DisplayString"; + } + } + + public override bool IsValueType { + get { + return true; + } + } + + public override void GetDefaultParamValueConversion (DefParam param, out string preConversion, out string conversion, out string postConversion, out DefType dependancyType) { + preConversion = postConversion = ""; + dependancyType = null; + switch (param.PassedByType) { + case PassedByType.Reference: + case PassedByType.Value: + conversion = param.DefaultValue.Trim (); + if (!conversion.StartsWith ("\"") + && conversion.Contains ("::")) { + //It's a static string of a class + + if (conversion == "StringUtil::BLANK") { + //Manually translate "StringUtil::BLANK" so that there's no need to wrap the StringUtil class + conversion = "String::Empty"; + return; + } + + string name = conversion.Substring (0, conversion.LastIndexOf ("::")); + dependancyType = FindType<DefType> (name); + } + break; + default: + throw new Exception ("Unexpected"); + + } + } + + public override string GetCLRParamTypeName (DefParam param) { + switch (param.PassedByType) { + case PassedByType.Value: + case PassedByType.Reference: + return "String^"; + case PassedByType.Pointer: + return "array<String^>^"; + case PassedByType.PointerPointer: + default: + throw new Exception ("Unexpected"); + } + } + + public override string GetPreCallParamConversion (DefParam param, out string newname) { + string name = param.Name; + switch (param.PassedByType) { + case PassedByType.Value: + case PassedByType.Reference: + newname = "o_" + name; + return "DECLARE_NATIVE_STRING( o_" + name + ", " + name + " )\n"; + case PassedByType.Pointer: + string expr = FullNativeName + "* arr_" + name + " = new " + FullNativeName + "[" + name + "->Length];\n"; + expr += "for (int i=0; i < " + name + "->Length; i++)\n"; + expr += "{\n"; + expr += "\tSET_NATIVE_UTFSTRING( arr_" + name + "[i], " + name + "[i] )\n"; + expr += "}\n"; + newname = "arr_" + name; + return expr; + case PassedByType.PointerPointer: + default: + throw new Exception ("Unexpected"); + } + } + + public override string GetPostCallParamConversionCleanup (DefParam param) { + switch (param.PassedByType) { + case PassedByType.Value: + case PassedByType.Reference: + return ""; + case PassedByType.Pointer: + return "delete[] arr_" + param.Name + ";\n"; + case PassedByType.PointerPointer: + default: + throw new Exception ("Unexpected"); + } + } + + public override string GetCLRTypeName (ITypeMember m) { + switch (m.PassedByType) { + case PassedByType.Value: + case PassedByType.Reference: + return "String^"; + case PassedByType.Pointer: + case PassedByType.PointerPointer: + default: + throw new Exception ("Unexpected"); + } + } + + public override string GetNativeCallConversion (string expr, ITypeMember m) { + switch (m.PassedByType) { + case PassedByType.Value: + case PassedByType.Reference: + return "UTF_TO_CLR_STRING( " + expr + " )"; + case PassedByType.Pointer: + case PassedByType.PointerPointer: + default: + throw new Exception ("Unexpected"); + } + } + + public DefUtfString () { + } + } + class DefInternal : DefType { public override void GetNativeParamConversion(DefParam param, out string preConversion, out string conversion, out string postConversion) Modified: trunk/Mogre/AutoWrap/Meta/DefNameSpace.cs =================================================================== --- trunk/Mogre/AutoWrap/Meta/DefNameSpace.cs 2008-12-06 04:42:38 UTC (rev 251) +++ trunk/Mogre/AutoWrap/Meta/DefNameSpace.cs 2008-12-14 05:09:02 UTC (rev 252) @@ -60,9 +60,12 @@ if (name.EndsWith(" std::string")) name = "std::string"; - if (name == "std::string" || name=="DisplayString") + if (name == "std::string") return (T)(object)new DefString(); + if (name == "DisplayString") + return (T)(object)new DefUtfString (); + if (name.StartsWith(Globals.NativeNamespace + "::")) name = name.Substring(name.IndexOf("::") + 2); @@ -80,6 +83,13 @@ return ParentNameSpace.FindType<T>(name, raiseException); } + if(type is DefType) { + // Short circuit out to handle OGRE 1.6 memory allocator types + if(((DefType)(object)type).IsIgnored) { + return (T)(object)type; + } + } + return (T)(object)DefType.CreateExplicitType((DefType)(object)type); } Modified: trunk/Mogre/AutoWrap/Meta/DefType.cs =================================================================== --- trunk/Mogre/AutoWrap/Meta/DefType.cs 2008-12-06 04:42:38 UTC (rev 251) +++ trunk/Mogre/AutoWrap/Meta/DefType.cs 2008-12-14 05:09:02 UTC (rev 252) @@ -1190,7 +1190,7 @@ foreach (DefFunction f in this.Functions) { - if (f.IsProperty) + if (f.IsProperty && !f.IsIgnored) { DefProperty p = null; Modified: trunk/Mogre/AutoWrap/Meta/IncClassProducer.cs =================================================================== --- trunk/Mogre/AutoWrap/Meta/IncClassProducer.cs 2008-12-06 04:42:38 UTC (rev 251) +++ trunk/Mogre/AutoWrap/Meta/IncClassProducer.cs 2008-12-14 05:09:02 UTC (rev 252) @@ -831,7 +831,12 @@ ptype = GetCLRTypeName(field); _sb.AppendIndent(""); if (field.IsStatic) _sb.Append("static "); - _sb.AppendFormat("property {0} {1}\n", ptype, field.Name); + if (field.HasAttribute<RenameAttribute> ()) { + _sb.AppendFormat ("property {0} {1}\n", ptype, field.GetAttribute<RenameAttribute> ().Name); + } + else { + _sb.AppendFormat ("property {0} {1}\n", ptype, field.Name); + } _sb.AppendLine("{"); _sb.AppendLine(GetProtectionString(field.ProtectionType) + ":"); Modified: trunk/Mogre/AutoWrap/Meta/IncValueClassProducer.cs =================================================================== --- trunk/Mogre/AutoWrap/Meta/IncValueClassProducer.cs 2008-12-06 04:42:38 UTC (rev 251) +++ trunk/Mogre/AutoWrap/Meta/IncValueClassProducer.cs 2008-12-14 05:09:02 UTC (rev 252) @@ -36,6 +36,11 @@ protected override void AddDefinition() { + if (_t.HasAttribute<SequentialLayoutAttribute> ()) { + _sb.AppendIndent (""); + _sb.Append ("[StructLayout(LayoutKind::Sequential)]\n"); + } + _sb.AppendIndent(""); if (!_t.IsNested) _sb.Append("public "); Modified: trunk/Mogre/AutoWrap/Meta/Wrapper.cs =================================================================== --- trunk/Mogre/AutoWrap/Meta/Wrapper.cs 2008-12-06 04:42:38 UTC (rev 251) +++ trunk/Mogre/AutoWrap/Meta/Wrapper.cs 2008-12-14 05:09:02 UTC (rev 252) @@ -178,6 +178,11 @@ //It's DLL function pointers of OgrePlatformManager.h return false; } + + // For now, ignore un-named enums in the namespace + if(type.Name.StartsWith("@")) { + return false; + } // Get explicit type or a new type if type has ReplaceBy attribute type = (type.IsNested) ? type.ParentClass.FindType<DefType>(type.Name) : type.NameSpace.FindType<DefType>(type.Name); Modified: trunk/Mogre/Mogre/Mogre_vc9.vcproj =================================================================== --- trunk/Mogre/Mogre/Mogre_vc9.vcproj 2008-12-06 04:42:38 UTC (rev 251) +++ trunk/Mogre/Mogre/Mogre_vc9.vcproj 2008-12-14 05:09:02 UTC (rev 252) @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="windows-1253"?> <VisualStudioProject ProjectType="Visual C++" - Version="9,00" + Version="9.00" Name="Mogre" ProjectGUID="{F75E973B-C1A0-43EB-8560-C43EF6D57812}" RootNamespace="Mogre" @@ -43,7 +43,7 @@ Name="VCCLCompilerTool" AdditionalOptions="-Zm119" Optimization="0" - AdditionalIncludeDirectories=".\include;.\include\auto;..\ogrenew\OgreMain\include" + AdditionalIncludeDirectories=".\include;.\include\auto;..\ogre\OgreMain\include" PreprocessorDefinitions="WIN32;_DEBUG" RuntimeLibrary="3" UsePrecompiledHeader="2" @@ -64,7 +64,7 @@ AdditionalDependencies="OgreMain_d.lib $(NOINHERIT)" OutputFile="$(OutDir)\$(ProjectName).dll" LinkIncremental="2" - AdditionalLibraryDirectories="..\ogrenew\lib" + AdditionalLibraryDirectories="..\ogre\lib" GenerateDebugInformation="true" AssemblyDebug="1" OptimizeForWindows98="1" @@ -126,7 +126,7 @@ FavorSizeOrSpeed="1" OmitFramePointers="true" EnableFiberSafeOptimizations="true" - AdditionalIncludeDirectories=".\include;.\include\auto;..\ogrenew\OgreMain\include" + AdditionalIncludeDirectories=".\include;.\include\auto;..\ogre\OgreMain\include" PreprocessorDefinitions="WIN32;NDEBUG" StringPooling="true" MinimalRebuild="false" @@ -154,7 +154,7 @@ Name="VCLinkerTool" AdditionalDependencies="OgreMain.lib $(NOINHERIT)" LinkIncremental="1" - AdditionalLibraryDirectories="..\ogrenew\lib" + AdditionalLibraryDirectories="..\ogre\lib" GenerateDebugInformation="true" OptimizeReferences="0" EnableCOMDATFolding="2" @@ -219,48 +219,12 @@ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" > <File - RelativePath=".\AssemblyInfo.cpp" - > - </File> - <File RelativePath=".\src\Custom\ManagedDataStream.cpp" > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - UsePrecompiledHeader="2" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - UsePrecompiledHeader="2" - /> - </FileConfiguration> </File> <File RelativePath=".\src\Marshalling.cpp" > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - UsePrecompiledHeader="0" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - UsePrecompiledHeader="0" - /> - </FileConfiguration> </File> <File RelativePath=".\src\auto\Mogre-WIN32_OgreTimerImp.cpp" @@ -333,22 +297,6 @@ <File RelativePath=".\src\Custom\MogreColourValue.cpp" > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - UsePrecompiledHeader="0" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - UsePrecompiledHeader="2" - /> - </FileConfiguration> </File> <File RelativePath=".\src\auto\MogreCommon.cpp" @@ -483,6 +431,10 @@ > </File> <File + RelativePath=".\src\auto\MogreILImageCodec.cpp" + > + </File> + <File RelativePath=".\src\auto\MogreImage.cpp" > </File> @@ -529,62 +481,14 @@ <File RelativePath=".\src\Custom\MogreMath.cpp" > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - UsePrecompiledHeader="0" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - UsePrecompiledHeader="2" - /> - </FileConfiguration> </File> <File RelativePath=".\src\Custom\MogreMatrix3.cpp" > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - UsePrecompiledHeader="0" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - UsePrecompiledHeader="2" - /> - </FileConfiguration> </File> <File RelativePath=".\src\Custom\MogreMatrix4.cpp" > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - UsePrecompiledHeader="0" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - UsePrecompiledHeader="2" - /> - </FileConfiguration> </File> <File RelativePath=".\src\auto\MogreMesh.cpp" @@ -693,22 +597,6 @@ <File RelativePath=".\src\Custom\MogrePlane.cpp" > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - UsePrecompiledHeader="0" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - UsePrecompiledHeader="2" - /> - </FileConfiguration> </File> <File RelativePath=".\src\auto\MogrePlane.cpp" @@ -719,7 +607,6 @@ <Tool Name="VCCLCompilerTool" ObjectFile="$(IntDir)\$(InputName)1.obj" - XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc" /> </FileConfiguration> <FileConfiguration @@ -728,7 +615,6 @@ <Tool Name="VCCLCompilerTool" ObjectFile="$(IntDir)\$(InputName)1.obj" - XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc" /> </FileConfiguration> </File> @@ -755,22 +641,6 @@ <File RelativePath=".\src\Custom\MogreQuaternion.cpp" > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - UsePrecompiledHeader="0" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - UsePrecompiledHeader="2" - /> - </FileConfiguration> </File> <File RelativePath=".\src\auto\MogreRectangle2D.cpp" @@ -809,6 +679,10 @@ > </File> <File + RelativePath=".\src\auto\MogreRenderSystemCapabilitiesManager.cpp" + > + </File> + <File RelativePath=".\src\auto\MogreRenderTarget.cpp" > </File> @@ -821,6 +695,10 @@ > </File> <File + RelativePath=".\src\auto\MogreRenderToVertexBuffer.cpp" + > + </File> + <File RelativePath=".\src\auto\MogreRenderWindow.cpp" > </File> @@ -889,6 +767,10 @@ > </File> <File + RelativePath=".\src\auto\MogreShadowCameraSetupPSSM.cpp" + > + </File> + <File RelativePath=".\src\auto\MogreShadowCaster.cpp" > </File> @@ -975,42 +857,10 @@ <File RelativePath=".\src\Custom\MogreVector3.cpp" > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - UsePrecompiledHeader="0" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - UsePrecompiledHeader="2" - /> - </FileConfiguration> </File> <File RelativePath=".\src\Custom\MogreVertexElement.cpp" > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - UsePrecompiledHeader="2" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - UsePrecompiledHeader="2" - /> - </FileConfiguration> </File> <File RelativePath=".\src\auto\MogreVertexIndexData.cpp" @@ -1045,8 +895,6 @@ <Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1" - ObjectFile="$(IntDir)\$(InputName)1.obj" - XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc" /> </FileConfiguration> <FileConfiguration @@ -1055,30 +903,12 @@ <Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1" - ObjectFile="$(IntDir)\$(InputName)1.obj" - XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc" /> </FileConfiguration> </File> <File RelativePath=".\src\SubclassingManager.cpp" > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - UsePrecompiledHeader="0" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - UsePrecompiledHeader="0" - /> - </FileConfiguration> </File> </Filter> <Filter @@ -1179,6 +1009,10 @@ > </File> <File + RelativePath=".\include\auto\MogreColourValue.h" + > + </File> + <File RelativePath=".\include\auto\MogreCommon.h" > </File> @@ -1311,6 +1145,10 @@ > </File> <File + RelativePath=".\include\auto\MogreILImageCodec.h" + > + </File> + <File RelativePath=".\include\auto\MogreImage.h" > </File> @@ -1571,6 +1409,10 @@ > </File> <File + RelativePath=".\include\auto\MogreRenderSystemCapabilitiesManager.h" + > + </File> + <File RelativePath=".\include\auto\MogreRenderTarget.h" > </File> @@ -1583,6 +1425,10 @@ > </File> <File + RelativePath=".\include\auto\MogreRenderToVertexBuffer.h" + > + </File> + <File RelativePath=".\include\auto\MogreRenderWindow.h" > </File> @@ -1651,6 +1497,10 @@ > </File> <File + RelativePath=".\include\auto\MogreShadowCameraSetupPSSM.h" + > + </File> + <File RelativePath=".\include\auto\MogreShadowCaster.h" > </File> Modified: trunk/Mogre/Mogre/include/Custom/MogreMatrix3.h =================================================================== --- trunk/Mogre/Mogre/include/Custom/MogreMatrix3.h 2008-12-06 04:42:38 UTC (rev 251) +++ trunk/Mogre/Mogre/include/Custom/MogreMatrix3.h 2008-12-14 05:09:02 UTC (rev 252) @@ -232,7 +232,7 @@ inline void ToAxisAngle ([Out] Vector3% rkAxis, [Out] Real% rfRadians) { Radian r; ToAxisAngle ( rkAxis, r ); - rfRadians = r.ValueRadians(); + rfRadians = r.ValueRadians; } inline void FromAxisAngle (Vector3 rkAxis, Real fRadians) { FromAxisAngle ( rkAxis, Radian(fRadians) ); @@ -265,54 +265,54 @@ [Out] float% rfRAngle) { Radian y, p, r; bool b = ToEulerAnglesXYZ(y,p,r); - rfYAngle = y.ValueRadians(); - rfPAngle = p.ValueRadians(); - rfRAngle = r.ValueRadians(); + rfYAngle = y.ValueRadians; + rfPAngle = p.ValueRadians; + rfRAngle = r.ValueRadians; return b; } inline bool ToEulerAnglesXZY ([Out] float% rfYAngle, [Out] float% rfPAngle, [Out] float% rfRAngle) { Radian y, p, r; bool b = ToEulerAnglesXZY(y,p,r); - rfYAngle = y.ValueRadians(); - rfPAngle = p.ValueRadians(); - rfRAngle = r.ValueRadians(); + rfYAngle = y.ValueRadians; + rfPAngle = p.ValueRadians; + rfRAngle = r.ValueRadians; return b; } inline bool ToEulerAnglesYXZ ([Out] float% rfYAngle, [Out] float% rfPAngle, [Out] float% rfRAngle) { Radian y, p, r; bool b = ToEulerAnglesYXZ(y,p,r); - rfYAngle = y.ValueRadians(); - rfPAngle = p.ValueRadians(); - rfRAngle = r.ValueRadians(); + rfYAngle = y.ValueRadians; + rfPAngle = p.ValueRadians; + rfRAngle = r.ValueRadians; return b; } inline bool ToEulerAnglesYZX ([Out] float% rfYAngle, [Out] float% rfPAngle, [Out] float% rfRAngle) { Radian y, p, r; bool b = ToEulerAnglesYZX(y,p,r); - rfYAngle = y.ValueRadians(); - rfPAngle = p.ValueRadians(); - rfRAngle = r.ValueRadians(); + rfYAngle = y.ValueRadians; + rfPAngle = p.ValueRadians; + rfRAngle = r.ValueRadians; return b; } inline bool ToEulerAnglesZXY ([Out] float% rfYAngle, [Out] float% rfPAngle, [Out] float% rfRAngle) { Radian y, p, r; bool b = ToEulerAnglesZXY(y,p,r); - rfYAngle = y.ValueRadians(); - rfPAngle = p.ValueRadians(); - rfRAngle = r.ValueRadians(); + rfYAngle = y.ValueRadians; + rfPAngle = p.ValueRadians; + rfRAngle = r.ValueRadians; return b; } inline bool ToEulerAnglesZYX ([Out] float% rfYAngle, [Out] float% rfPAngle, [Out] float% rfRAngle) { Radian y, p, r; bool b = ToEulerAnglesZYX(y,p,r); - rfYAngle = y.ValueRadians(); - rfPAngle = p.ValueRadians(); - rfRAngle = r.ValueRadians(); + rfYAngle = y.ValueRadians; + rfPAngle = p.ValueRadians; + rfRAngle = r.ValueRadians; return b; } inline void FromEulerAnglesXYZ (float fYAngle, float fPAngle, float fRAngle) { Modified: trunk/Mogre/Mogre/include/Custom/MogreQuaternion.h =================================================================== --- trunk/Mogre/Mogre/include/Custom/MogreQuaternion.h 2008-12-06 04:42:38 UTC (rev 251) +++ trunk/Mogre/Mogre/include/Custom/MogreQuaternion.h 2008-12-14 05:09:02 UTC (rev 252) @@ -122,7 +122,7 @@ inline void ToAngleAxis ([Out] Real% rfAngle, [Out] Vector3% rkAxis) { Radian r; ToAngleAxis ( r, rkAxis ); - rfAngle = r.ValueAngleUnits(); + rfAngle = r.ValueAngleUnits; } #endif//OGRE_FORCE_ANGLE_TYPES void FromAxes (array<Vector3>^ akAxis); Modified: trunk/Mogre/Mogre/include/Custom/MogreRect.h =================================================================== --- trunk/Mogre/Mogre/include/Custom/MogreRect.h 2008-12-06 04:42:38 UTC (rev 251) +++ trunk/Mogre/Mogre/include/Custom/MogreRect.h 2008-12-14 05:09:02 UTC (rev 252) @@ -4,6 +4,7 @@ namespace Mogre { + [Serializable] public value class FloatRect { @@ -32,7 +33,34 @@ } }; + [Serializable] + public value class RealRect + { + public: + DEFINE_MANAGED_NATIVE_CONVERSIONS_FOR_VALUECLASS( RealRect ) + Mogre::Real left, top, right, bottom; + + RealRect( float l, float t, float r, float b ) + : left( l ), top( t ), right( r ), bottom( b ) + { + } + property Mogre::Real Width + { + Mogre::Real get() + { + return right - left; + } + } + property Mogre::Real Height + { + Mogre::Real get() + { + return bottom - top; + } + } + }; + [Serializable] public value class Rect { Modified: trunk/Mogre/Mogre/include/Custom/MogreVector3.h =================================================================== --- trunk/Mogre/Mogre/include/Custom/MogreVector3.h 2008-12-06 04:42:38 UTC (rev 251) +++ trunk/Mogre/Mogre/include/Custom/MogreVector3.h 2008-12-14 05:09:02 UTC (rev 252) @@ -454,7 +454,7 @@ #ifndef OGRE_FORCE_ANGLE_TYPES inline Vector3 RandomDeviant( Real angle, - Vector3 up ) const + Vector3 up ) { return RandomDeviant ( Radian(angle), up ); } Modified: trunk/Mogre/Mogre/include/Marshalling.h =================================================================== --- trunk/Mogre/Mogre/include/Marshalling.h 2008-12-06 04:42:38 UTC (rev 251) +++ trunk/Mogre/Mogre/include/Marshalling.h 2008-12-14 05:09:02 UTC (rev 252) @@ -26,6 +26,7 @@ InitNativeUTFStringWithCLRString(utfnvar,m_str); #define SET_NATIVE_STRING(nvar,mstr) InitNativeStringWithCLRString(nvar,mstr); + #define SET_NATIVE_UTFSTRING(nvar, mstr) InitNativeUTFStringWithCLRString(nvar, mstr); #define TO_CLR_STRING(ogrestr) gcnew System::String((ogrestr).c_str()) #define UTF_TO_CLR_STRING(ogrestr) gcnew System::String((ogrestr).asWStr_c_str()) Modified: trunk/Mogre/Mogre/include/Prerequisites.h =================================================================== --- trunk/Mogre/Mogre/include/Prerequisites.h 2008-12-06 04:42:38 UTC (rev 251) +++ trunk/Mogre/Mogre/include/Prerequisites.h 2008-12-14 05:09:02 UTC (rev 252) @@ -4,6 +4,9 @@ // is used for forward class declarations #pragma warning( disable : 4240 ) +// Disable "overflow in constant arithmetic" warning +#pragma warning( disable : 4756 ) + #define STATIC_ASSERT(A) typedef int __assertchecker##__COUNTER__[(A) ? +1 : -1]; #include "CLRHelp.h" Modified: trunk/Mogre/Mogre/include/STLMultiMap.h =================================================================== --- trunk/Mogre/Mogre/include/STLMultiMap.h 2008-12-06 04:42:38 UTC (rev 251) +++ trunk/Mogre/Mogre/include/STLMultiMap.h 2008-12-14 05:09:02 UTC (rev 252) @@ -96,13 +96,13 @@ \ virtual bool Equals(Object^ obj) override \ { \ - Iterator^ clr = dynamic_cast<Iterator^>(obj); \ - if (clr == CLR_NULL) \ - { \ - return false; \ - } \ - \ - return (this == clr); \ + Iterator^ clr = dynamic_cast<Iterator^>(obj); \ + if (clr == CLR_NULL) \ + { \ + return false; \ + } \ + \ + return (this == clr); \ } \ \ inline static bool operator ==(Iterator^ it1, Iterator^ it2) \ @@ -380,13 +380,13 @@ \ virtual bool Equals(Object^ obj) override \ { \ - ConstIterator^ clr = dynamic_cast<ConstIterator^>(obj); \ - if (clr == CLR_NULL) \ - { \ - return false; \ - } \ - \ - return (this == clr); \ + ConstIterator^ clr = dynamic_cast<ConstIterator^>(obj); \ + if (clr == CLR_NULL) \ + { \ + return false; \ + } \ + \ + return (this == clr); \ } \ \ inline static bool operator ==(ConstIterator^ it1, ConstIterator^ it2) \ Modified: trunk/Mogre/Mogre/include/auto/MakePublicDeclarations.h =================================================================== --- trunk/Mogre/Mogre/include/auto/MakePublicDeclarations.h 2008-12-06 04:42:38 UTC (rev 251) +++ trunk/Mogre/Mogre/include/auto/MakePublicDeclarations.h 2008-12-14 05:09:02 UTC (rev 252) @@ -6,6 +6,7 @@ #include "OgreVector4.h" #include "OgreQuaternion.h" #include "OgreColourValue.h" +#include "OgreMath.h" #include "OgreAnimation.h" #include "OgreAnimationTrack.h" #include "OgreNode.h" @@ -18,7 +19,6 @@ #include "OgreArchiveManager.h" #include "OgreBillboard.h" #include "OgreBillboardSet.h" -#include "OgreMath.h" #include "OgreBillboardChain.h" #include "OgreAxisAlignedBox.h" #include "OgreCamera.h" @@ -27,6 +27,8 @@ #include "OgreRenderOperation.h" #include "OgreMatrix4.h" #include "OgreTechnique.h" +#include "OgreSceneManager.h" +#include "OgreRenderSystem.h" #include "OgreGpuProgram.h" #include "OgreMovableObject.h" #include "OgreBillboardParticleRenderer.h" @@ -34,11 +36,11 @@ #include "OgreBone.h" #include "OgreBorderPanelOverlayElement.h" #include "OgrePlane.h" -#include "OgreSceneManager.h" #include "OgreSceneNode.h" #include "OgreFrustum.h" #include "OgreViewport.h" #include "OgreRay.h" +#include "OgrePlaneBoundedVolume.h" #include "OgreSphere.h" #include "OgreCodec.h" #include "OgreLight.h" @@ -51,6 +53,7 @@ #include "OgreResourceManager.h" #include "OgreResource.h" #include "OgreRenderTargetListener.h" +#include "OgreRenderTarget.h" #include "OgreCompositorManager.h" #include "OgreRenderable.h" #include "OgreCompositorSerializer.h" @@ -89,7 +92,6 @@ #include "OgreImageCodec.h" #include "OgreInstancedGeometry.h" #include "OgreMatrix3.h" -#include "OgrePlaneBoundedVolume.h" #include "OgreLogManager.h" #include "OgreManualObject.h" #include "OgreMaterialManager.h" @@ -97,8 +99,8 @@ #include "OgreSubMesh.h" #include "OgrePose.h" #include "OgreMeshManager.h" +#include "OgreMeshSerializer.h" #include "OgrePatchMesh.h" -#include "OgreMeshSerializer.h" #include "OgreOverlay.h" #include "OgreOverlayContainer.h" #include "OgreOverlayElement.h" @@ -126,11 +128,11 @@ #include "OgreRenderQueueSortingGrouping.h" #include "OgreRenderQueueInvocation.h" #include "OgreRenderQueueListener.h" -#include "OgreRenderSystem.h" -#include "OgreRenderTarget.h" #include "OgreRenderSystemCapabilities.h" #include "OgreRenderWindow.h" #include "OgreTexture.h" +#include "OgreRenderSystemCapabilitiesManager.h" +#include "OgreRenderToVertexBuffer.h" #include "OgreResourceBackgroundQueue.h" #include "OgreResourceGroupManager.h" #include "OgreRibbonTrail.h" @@ -140,11 +142,14 @@ #include "OgreShadowTextureManager.h" #include "OgreStaticGeometry.h" #include "OgreSceneManagerEnumerator.h" +#include "OgreScriptCompiler.h" +#include "OgreScriptTranslator.h" #include "OgreSerializer.h" #include "OgreShadowCameraSetup.h" #include "OgreShadowCameraSetupFocused.h" #include "OgreShadowCameraSetupLiSPSM.h" #include "OgreShadowCameraSetupPlaneOptimal.h" +#include "OgreShadowCameraSetupPSSM.h" #include "OgreShadowCaster.h" #include "OgreSimpleRenderable.h" #include "OgreSimpleSpline.h" @@ -165,6 +170,8 @@ #pragma make_public( Ogre::Vector4 ) #pragma make_public( Ogre::Quaternion ) #pragma make_public( Ogre::ColourValue ) +#pragma make_public( Ogre::Radian ) +#pragma make_public( Ogre::Degree ) #pragma make_public( Ogre::AnimableObject ) #pragma make_public( Ogre::Animation ) #pragma make_public( Ogre::NodeAnimationTrack ) @@ -188,7 +195,6 @@ #pragma make_public( Ogre::ArchiveManager ) #pragma make_public( Ogre::Billboard ) #pragma make_public( Ogre::BillboardSet ) -#pragma make_public( Ogre::Radian ) #pragma make_public( Ogre::BillboardChain ) #pragma make_public( Ogre::AxisAlignedBox ) #pragma make_public( Ogre::Camera ) @@ -197,6 +203,8 @@ #pragma make_public( Ogre::RenderOperation ) #pragma make_public( Ogre::Matrix4 ) #pragma make_public( Ogre::Technique ) +#pragma make_public( Ogre::SceneManager ) +#pragma make_public( Ogre::RenderSystem ) #pragma make_public( Ogre::GpuProgramParameters ) #pragma make_public( Ogre::BillboardChainFactory ) #pragma make_public( Ogre::MovableObject ) @@ -207,11 +215,11 @@ #pragma make_public( Ogre::BorderPanelOverlayElement ) #pragma make_public( Ogre::BorderRenderable ) #pragma make_public( Ogre::Plane ) -#pragma make_public( Ogre::SceneManager ) #pragma make_public( Ogre::SceneNode ) #pragma make_public( Ogre::Frustum ) #pragma make_public( Ogre::Viewport ) #pragma make_public( Ogre::Ray ) +#pragma make_public( Ogre::PlaneBoundedVolume ) #pragma make_public( Ogre::Sphere ) #pragma make_public( Ogre::Codec ) #pragma make_public( Ogre::Light ) @@ -226,6 +234,7 @@ #pragma make_public( Ogre::CompositorPtr ) #pragma make_public( Ogre::RenderTargetEvent ) #pragma make_public( Ogre::RenderTargetViewportEvent ) +#pragma make_public( Ogre::RenderTarget ) #pragma make_public( Ogre::CompositorManager ) #pragma make_public( Ogre::Renderable ) #pragma make_public( Ogre::CompositorSerializer ) @@ -258,6 +267,7 @@ #pragma make_public( Ogre::GpuLogicalBufferStruct ) #pragma make_public( Ogre::GpuNamedConstants ) #pragma make_public( Ogre::GpuConstantDefinition ) +#pragma make_public( Ogre::GpuNamedConstantsSerializer ) #pragma make_public( Ogre::GpuProgram ) #pragma make_public( Ogre::GpuProgramManager ) #pragma make_public( Ogre::GpuProgramPtr ) @@ -282,7 +292,6 @@ #pragma make_public( Ogre::InstancedGeometry ) #pragma make_public( Ogre::Matrix3 ) #pragma make_public( Ogre::SkeletonPtr ) -#pragma make_public( Ogre::PlaneBoundedVolume ) #pragma make_public( Ogre::LightFactory ) #pragma make_public( Ogre::LogListener ) #pragma make_public( Ogre::LogManager ) @@ -297,6 +306,7 @@ #pragma make_public( Ogre::MeshLodUsage ) #pragma make_public( Ogre::IndexData ) #pragma make_public( Ogre::MeshManager ) +#pragma make_public( Ogre::MeshSerializerListener ) #pragma make_public( Ogre::PatchMeshPtr ) #pragma make_public( Ogre::MeshSerializer ) #pragma make_public( Ogre::MovableObjectFactory ) @@ -339,15 +349,18 @@ #pragma make_public( Ogre::QueuedRenderableVisitor ) #pragma make_public( Ogre::QueuedRenderableCollection ) #pragma make_public( Ogre::RenderPriorityGroup ) -#pragma make_public( Ogre::RenderSystem ) -#pragma make_public( Ogre::RenderTarget ) #pragma make_public( Ogre::RenderSystemCapabilities ) +#pragma make_public( Ogre::DriverVersion ) #pragma make_public( Ogre::RenderWindow ) #pragma make_public( Ogre::MultiRenderTarget ) #pragma make_public( Ogre::TexturePtr ) +#pragma make_public( Ogre::RenderSystemCapabilitiesManager ) #pragma make_public( Ogre::RenderTargetListener ) +#pragma make_public( Ogre::RenderToVertexBuffer ) +#pragma make_public( Ogre::BackgroundProcessResult ) #pragma make_public( Ogre::ResourceBackgroundQueue ) #pragma make_public( Ogre::ResourceGroupListener ) +#pragma make_public( Ogre::ResourceLoadingListener ) #pragma make_public( Ogre::ResourceGroupManager ) #pragma make_public( Ogre::RibbonTrail ) #pragma make_public( Ogre::RibbonTrailFactory ) @@ -357,7 +370,6 @@ #pragma make_public( Ogre::RotationalSpline ) #pragma make_public( Ogre::VisibleObjectsBoundsInfo ) #pragma make_public( Ogre::ViewPoint ) -#pragma make_public( Ogre::ShadowListener ) #pragma make_public( Ogre::AxisAlignedBoxSceneQuery ) #pragma make_public( Ogre::SphereSceneQuery ) #pragma make_public( Ogre::PlaneBoundedVolumeListSceneQuery ) @@ -380,12 +392,17 @@ #pragma make_public( Ogre::RegionSceneQuery ) #pragma make_public( Ogre::RaySceneQueryResultEntry ) #pragma make_public( Ogre::IntersectionSceneQueryResult ) +#pragma make_public( Ogre::ScriptCompilerManager ) +#pragma make_public( Ogre::ScriptCompilerListener ) +#pragma make_public( Ogre::ScriptTranslatorManager ) +#pragma make_public( Ogre::ScriptTranslator ) #pragma make_public( Ogre::Serializer ) #pragma make_public( Ogre::ShadowCameraSetup ) #pragma make_public( Ogre::DefaultShadowCameraSetup ) #pragma make_public( Ogre::FocusedShadowCameraSetup ) #pragma make_public( Ogre::LiSPSMShadowCameraSetup ) #pragma make_public( Ogre::PlaneOptimalShadowCameraSetup ) +#pragma make_public( ... [truncated message content] |
From: <mog...@li...> - 2009-04-18 07:59:21
|
Revision: 257 http://mogre.svn.sourceforge.net/mogre/?rev=257&view=rev Author: bekas Date: 2009-04-18 07:59:11 +0000 (Sat, 18 Apr 2009) Log Message: ----------- Remove 'bin' and 'Media' directory from Mogre directory. Removed Paths: ------------- trunk/Mogre/Media/ trunk/Mogre/bin/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mog...@li...> - 2009-04-21 11:29:46
|
Revision: 264 http://mogre.svn.sourceforge.net/mogre/?rev=264&view=rev Author: bekas Date: 2009-04-21 11:29:43 +0000 (Tue, 21 Apr 2009) Log Message: ----------- -Update Mogre_vc9.sln -Add patches for Ogre's source code Modified Paths: -------------- trunk/Mogre/Mogre_vc9.sln Added Paths: ----------- trunk/Mogre/Ogre Patches/ trunk/Mogre/Ogre Patches/CLRObjects.patch trunk/Mogre/Ogre Patches/Exception.patch trunk/Mogre/Ogre Patches/OgreMain_vcproj.patch Modified: trunk/Mogre/Mogre_vc9.sln =================================================================== --- trunk/Mogre/Mogre_vc9.sln 2009-04-21 04:23:36 UTC (rev 263) +++ trunk/Mogre/Mogre_vc9.sln 2009-04-21 11:29:43 UTC (rev 264) @@ -1,55 +1,8 @@ Microsoft Visual Studio Solution File, Format Version 10.00 # Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OgreMain", "ogre\OgreMain\scripts\OgreMain_vc9.vcproj", "{35AFBABB-DF05-43DE-91A7-BB828A874015}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mogre", "Mogre\Mogre_vc9.vcproj", "{838A5695-BEC6-48D9-B6B4-E622336D2CBD}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mogre", "Mogre\Mogre_vc9.vcproj", "{F75E973B-C1A0-43EB-8560-C43EF6D57812}" - ProjectSection(ProjectDependencies) = postProject - {35AFBABB-DF05-43DE-91A7-BB828A874015} = {35AFBABB-DF05-43DE-91A7-BB828A874015} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Plugin_BSPSceneManager", "ogre\PlugIns\BSPSceneManager\scripts\Plugin_BSPSceneManager_vc9.vcproj", "{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}" - ProjectSection(ProjectDependencies) = postProject - {35AFBABB-DF05-43DE-91A7-BB828A874015} = {35AFBABB-DF05-43DE-91A7-BB828A874015} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Plugin_CgProgramManager", "ogre\PlugIns\CgProgramManager\scripts\Plugin_CgProgramManager_vc9.vcproj", "{1C741C2F-3278-43D8-9FD2-E631A64B70AE}" - ProjectSection(ProjectDependencies) = postProject - {35AFBABB-DF05-43DE-91A7-BB828A874015} = {35AFBABB-DF05-43DE-91A7-BB828A874015} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Plugin_OctreeSceneManager", "ogre\PlugIns\OctreeSceneManager\scripts\Plugin_OctreeSceneManager_vc9.vcproj", "{A6830BB5-9993-4F6D-8D4E-930F36A1B88F}" - ProjectSection(ProjectDependencies) = postProject - {35AFBABB-DF05-43DE-91A7-BB828A874015} = {35AFBABB-DF05-43DE-91A7-BB828A874015} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Plugin_ParticleFX", "ogre\PlugIns\ParticleFX\scripts\Plugin_ParticleFX_vc9.vcproj", "{C61A6060-5F0B-4B83-A0BC-678CCDA98FF6}" - ProjectSection(ProjectDependencies) = postProject - {35AFBABB-DF05-43DE-91A7-BB828A874015} = {35AFBABB-DF05-43DE-91A7-BB828A874015} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RenderSystem_Direct3D9", "ogre\RenderSystems\Direct3D9\scripts\RenderSystem_Direct3D9_vc9.vcproj", "{0F172B9C-E5D5-4EB1-BFDB-93D787A37461}" - ProjectSection(ProjectDependencies) = postProject - {35AFBABB-DF05-43DE-91A7-BB828A874015} = {35AFBABB-DF05-43DE-91A7-BB828A874015} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RenderSystem_GL", "ogre\RenderSystems\GL\scripts\RenderSystem_GL_vc9.vcproj", "{7D0A20FE-40A6-4E64-AD26-5E34AE391DF4}" - ProjectSection(ProjectDependencies) = postProject - {35AFBABB-DF05-43DE-91A7-BB828A874015} = {35AFBABB-DF05-43DE-91A7-BB828A874015} - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{FEE48B4D-7352-4344-BE1D-4A0FC69B031E}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Plugin_PCZSceneManager", "ogre\PlugIns\PCZSceneManager\scripts\Plugin_PCZSceneManager_vc9.vcproj", "{275186DE-66DF-487D-9D99-A6445E14E162}" - ProjectSection(ProjectDependencies) = postProject - {35AFBABB-DF05-43DE-91A7-BB828A874015} = {35AFBABB-DF05-43DE-91A7-BB828A874015} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Plugin_OctreeZone", "ogre\PlugIns\OctreeZone\scripts\Plugin_OctreeZone_vc9.vcproj", "{1A466963-7683-46AD-A927-785917C6CEEE}" - ProjectSection(ProjectDependencies) = postProject - {35AFBABB-DF05-43DE-91A7-BB828A874015} = {35AFBABB-DF05-43DE-91A7-BB828A874015} - EndProjectSection -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -58,86 +11,14 @@ ReleaseStaticLib|Win32 = ReleaseStaticLib|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {35AFBABB-DF05-43DE-91A7-BB828A874015}.Debug|Win32.ActiveCfg = Debug|Win32 - {35AFBABB-DF05-43DE-91A7-BB828A874015}.Debug|Win32.Build.0 = Debug|Win32 - {35AFBABB-DF05-43DE-91A7-BB828A874015}.DebugStaticLib|Win32.ActiveCfg = DebugStaticLib|Win32 - {35AFBABB-DF05-43DE-91A7-BB828A874015}.DebugStaticLib|Win32.Build.0 = DebugStaticLib|Win32 - {35AFBABB-DF05-43DE-91A7-BB828A874015}.Release|Win32.ActiveCfg = Release|Win32 - {35AFBABB-DF05-43DE-91A7-BB828A874015}.Release|Win32.Build.0 = Release|Win32 - {35AFBABB-DF05-43DE-91A7-BB828A874015}.ReleaseStaticLib|Win32.ActiveCfg = ReleaseStaticLib|Win32 - {35AFBABB-DF05-43DE-91A7-BB828A874015}.ReleaseStaticLib|Win32.Build.0 = ReleaseStaticLib|Win32 - {F75E973B-C1A0-43EB-8560-C43EF6D57812}.Debug|Win32.ActiveCfg = Debug|Win32 - {F75E973B-C1A0-43EB-8560-C43EF6D57812}.Debug|Win32.Build.0 = Debug|Win32 - {F75E973B-C1A0-43EB-8560-C43EF6D57812}.DebugStaticLib|Win32.ActiveCfg = Debug|Win32 - {F75E973B-C1A0-43EB-8560-C43EF6D57812}.DebugStaticLib|Win32.Build.0 = Debug|Win32 - {F75E973B-C1A0-43EB-8560-C43EF6D57812}.Release|Win32.ActiveCfg = Release|Win32 - {F75E973B-C1A0-43EB-8560-C43EF6D57812}.Release|Win32.Build.0 = Release|Win32 - {F75E973B-C1A0-43EB-8560-C43EF6D57812}.ReleaseStaticLib|Win32.ActiveCfg = Release|Win32 - {F75E973B-C1A0-43EB-8560-C43EF6D57812}.ReleaseStaticLib|Win32.Build.0 = Release|Win32 - {80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Debug|Win32.ActiveCfg = Debug|Win32 - {80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Debug|Win32.Build.0 = Debug|Win32 - {80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.DebugStaticLib|Win32.ActiveCfg = DebugStaticLib|Win32 - {80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.DebugStaticLib|Win32.Build.0 = DebugStaticLib|Win32 - {80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Release|Win32.ActiveCfg = Release|Win32 - {80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Release|Win32.Build.0 = Release|Win32 - {80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.ReleaseStaticLib|Win32.ActiveCfg = ReleaseStaticLib|Win32 - {80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.ReleaseStaticLib|Win32.Build.0 = ReleaseStaticLib|Win32 - {1C741C2F-3278-43D8-9FD2-E631A64B70AE}.Debug|Win32.ActiveCfg = Debug|Win32 - {1C741C2F-3278-43D8-9FD2-E631A64B70AE}.Debug|Win32.Build.0 = Debug|Win32 - {1C741C2F-3278-43D8-9FD2-E631A64B70AE}.DebugStaticLib|Win32.ActiveCfg = DebugStaticLib|Win32 - {1C741C2F-3278-43D8-9FD2-E631A64B70AE}.DebugStaticLib|Win32.Build.0 = DebugStaticLib|Win32 - {1C741C2F-3278-43D8-9FD2-E631A64B70AE}.Release|Win32.ActiveCfg = Release|Win32 - {1C741C2F-3278-43D8-9FD2-E631A64B70AE}.Release|Win32.Build.0 = Release|Win32 - {1C741C2F-3278-43D8-9FD2-E631A64B70AE}.ReleaseStaticLib|Win32.ActiveCfg = ReleaseStaticLib|Win32 - {1C741C2F-3278-43D8-9FD2-E631A64B70AE}.ReleaseStaticLib|Win32.Build.0 = ReleaseStaticLib|Win32 - {A6830BB5-9993-4F6D-8D4E-930F36A1B88F}.Debug|Win32.ActiveCfg = Debug|Win32 - {A6830BB5-9993-4F6D-8D4E-930F36A1B88F}.Debug|Win32.Build.0 = Debug|Win32 - {A6830BB5-9993-4F6D-8D4E-930F36A1B88F}.DebugStaticLib|Win32.ActiveCfg = DebugStaticLib|Win32 - {A6830BB5-9993-4F6D-8D4E-930F36A1B88F}.DebugStaticLib|Win32.Build.0 = DebugStaticLib|Win32 - {A6830BB5-9993-4F6D-8D4E-930F36A1B88F}.Release|Win32.ActiveCfg = Release|Win32 - {A6830BB5-9993-4F6D-8D4E-930F36A1B88F}.Release|Win32.Build.0 = Release|Win32 - {A6830BB5-9993-4F6D-8D4E-930F36A1B88F}.ReleaseStaticLib|Win32.ActiveCfg = ReleaseStaticLib|Win32 - {A6830BB5-9993-4F6D-8D4E-930F36A1B88F}.ReleaseStaticLib|Win32.Build.0 = ReleaseStaticLib|Win32 - {C61A6060-5F0B-4B83-A0BC-678CCDA98FF6}.Debug|Win32.ActiveCfg = Debug|Win32 - {C61A6060-5F0B-4B83-A0BC-678CCDA98FF6}.Debug|Win32.Build.0 = Debug|Win32 - {C61A6060-5F0B-4B83-A0BC-678CCDA98FF6}.DebugStaticLib|Win32.ActiveCfg = DebugStaticLib|Win32 - {C61A6060-5F0B-4B83-A0BC-678CCDA98FF6}.DebugStaticLib|Win32.Build.0 = DebugStaticLib|Win32 - {C61A6060-5F0B-4B83-A0BC-678CCDA98FF6}.Release|Win32.ActiveCfg = Release|Win32 - {C61A6060-5F0B-4B83-A0BC-678CCDA98FF6}.Release|Win32.Build.0 = Release|Win32 - {C61A6060-5F0B-4B83-A0BC-678CCDA98FF6}.ReleaseStaticLib|Win32.ActiveCfg = ReleaseStaticLib|Win32 - {C61A6060-5F0B-4B83-A0BC-678CCDA98FF6}.ReleaseStaticLib|Win32.Build.0 = ReleaseStaticLib|Win32 - {0F172B9C-E5D5-4EB1-BFDB-93D787A37461}.Debug|Win32.ActiveCfg = Debug|Win32 - {0F172B9C-E5D5-4EB1-BFDB-93D787A37461}.Debug|Win32.Build.0 = Debug|Win32 - {0F172B9C-E5D5-4EB1-BFDB-93D787A37461}.DebugStaticLib|Win32.ActiveCfg = DebugStaticLib|Win32 - {0F172B9C-E5D5-4EB1-BFDB-93D787A37461}.DebugStaticLib|Win32.Build.0 = DebugStaticLib|Win32 - {0F172B9C-E5D5-4EB1-BFDB-93D787A37461}.Release|Win32.ActiveCfg = Release|Win32 - {0F172B9C-E5D5-4EB1-BFDB-93D787A37461}.Release|Win32.Build.0 = Release|Win32 - {0F172B9C-E5D5-4EB1-BFDB-93D787A37461}.ReleaseStaticLib|Win32.ActiveCfg = ReleaseStaticLib|Win32 - {0F172B9C-E5D5-4EB1-BFDB-93D787A37461}.ReleaseStaticLib|Win32.Build.0 = ReleaseStaticLib|Win32 - {7D0A20FE-40A6-4E64-AD26-5E34AE391DF4}.Debug|Win32.ActiveCfg = Debug|Win32 - {7D0A20FE-40A6-4E64-AD26-5E34AE391DF4}.Debug|Win32.Build.0 = Debug|Win32 - {7D0A20FE-40A6-4E64-AD26-5E34AE391DF4}.DebugStaticLib|Win32.ActiveCfg = DebugStaticLib|Win32 - {7D0A20FE-40A6-4E64-AD26-5E34AE391DF4}.DebugStaticLib|Win32.Build.0 = DebugStaticLib|Win32 - {7D0A20FE-40A6-4E64-AD26-5E34AE391DF4}.Release|Win32.ActiveCfg = Release|Win32 - {7D0A20FE-40A6-4E64-AD26-5E34AE391DF4}.Release|Win32.Build.0 = Release|Win32 - {7D0A20FE-40A6-4E64-AD26-5E34AE391DF4}.ReleaseStaticLib|Win32.ActiveCfg = ReleaseStaticLib|Win32 - {7D0A20FE-40A6-4E64-AD26-5E34AE391DF4}.ReleaseStaticLib|Win32.Build.0 = ReleaseStaticLib|Win32 - {275186DE-66DF-487D-9D99-A6445E14E162}.Debug|Win32.ActiveCfg = Debug|Win32 - {275186DE-66DF-487D-9D99-A6445E14E162}.Debug|Win32.Build.0 = Debug|Win32 - {275186DE-66DF-487D-9D99-A6445E14E162}.DebugStaticLib|Win32.ActiveCfg = DebugStaticLib|Win32 - {275186DE-66DF-487D-9D99-A6445E14E162}.DebugStaticLib|Win32.Build.0 = DebugStaticLib|Win32 - {275186DE-66DF-487D-9D99-A6445E14E162}.Release|Win32.ActiveCfg = Release|Win32 - {275186DE-66DF-487D-9D99-A6445E14E162}.Release|Win32.Build.0 = Release|Win32 - {275186DE-66DF-487D-9D99-A6445E14E162}.ReleaseStaticLib|Win32.ActiveCfg = ReleaseStaticLib|Win32 - {275186DE-66DF-487D-9D99-A6445E14E162}.ReleaseStaticLib|Win32.Build.0 = ReleaseStaticLib|Win32 - {1A466963-7683-46AD-A927-785917C6CEEE}.Debug|Win32.ActiveCfg = Debug|Win32 - {1A466963-7683-46AD-A927-785917C6CEEE}.Debug|Win32.Build.0 = Debug|Win32 - {1A466963-7683-46AD-A927-785917C6CEEE}.DebugStaticLib|Win32.ActiveCfg = DebugStaticLib|Win32 - {1A466963-7683-46AD-A927-785917C6CEEE}.DebugStaticLib|Win32.Build.0 = DebugStaticLib|Win32 - {1A466963-7683-46AD-A927-785917C6CEEE}.Release|Win32.ActiveCfg = Release|Win32 - {1A466963-7683-46AD-A927-785917C6CEEE}.Release|Win32.Build.0 = Release|Win32 - {1A466963-7683-46AD-A927-785917C6CEEE}.ReleaseStaticLib|Win32.ActiveCfg = ReleaseStaticLib|Win32 - {1A466963-7683-46AD-A927-785917C6CEEE}.ReleaseStaticLib|Win32.Build.0 = ReleaseStaticLib|Win32 + {838A5695-BEC6-48D9-B6B4-E622336D2CBD}.Debug|Win32.ActiveCfg = Debug|Win32 + {838A5695-BEC6-48D9-B6B4-E622336D2CBD}.Debug|Win32.Build.0 = Debug|Win32 + {838A5695-BEC6-48D9-B6B4-E622336D2CBD}.DebugStaticLib|Win32.ActiveCfg = Debug|Win32 + {838A5695-BEC6-48D9-B6B4-E622336D2CBD}.DebugStaticLib|Win32.Build.0 = Debug|Win32 + {838A5695-BEC6-48D9-B6B4-E622336D2CBD}.Release|Win32.ActiveCfg = Release|Win32 + {838A5695-BEC6-48D9-B6B4-E622336D2CBD}.Release|Win32.Build.0 = Release|Win32 + {838A5695-BEC6-48D9-B6B4-E622336D2CBD}.ReleaseStaticLib|Win32.ActiveCfg = Release|Win32 + {838A5695-BEC6-48D9-B6B4-E622336D2CBD}.ReleaseStaticLib|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE Added: trunk/Mogre/Ogre Patches/CLRObjects.patch =================================================================== --- trunk/Mogre/Ogre Patches/CLRObjects.patch (rev 0) +++ trunk/Mogre/Ogre Patches/CLRObjects.patch 2009-04-21 11:29:43 UTC (rev 264) @@ -0,0 +1,2089 @@ +Index: OgreMain/include/OgreAnimable.h +=================================================================== +--- OgreMain/include/OgreAnimable.h (revision 8525) ++++ OgreMain/include/OgreAnimable.h (working copy) +@@ -62,9 +62,11 @@ + are often comprised of multiple properties it helps to be able to deal + with all values through a single class. + */ +- class _OgreExport AnimableValue : public AnimableAlloc ++ class _OgreExport AnimableValue : public AnimableAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(AnimableValue); ++ + /// The type of the value being animated + enum ValueType + { +Index: OgreMain/include/OgreAnimation.h +=================================================================== +--- OgreMain/include/OgreAnimation.h (revision 8525) ++++ OgreMain/include/OgreAnimation.h (working copy) +@@ -49,10 +49,12 @@ + You should not create these animations directly. They will be created via a parent + object which owns the animation, e.g. Skeleton. + */ +- class _OgreExport Animation : public AnimationAlloc ++ class _OgreExport Animation : public AnimationAlloc, public CLRObject + { + + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Animation); ++ + /** The types of animation interpolation available. */ + enum InterpolationMode + { +Index: OgreMain/include/OgreAnimationState.h +=================================================================== +--- OgreMain/include/OgreAnimationState.h (revision 8525) ++++ OgreMain/include/OgreAnimationState.h (working copy) +@@ -43,9 +43,10 @@ + Other classes can hold instances of this class to store the state of any animations + they are using. + */ +- class _OgreExport AnimationState : public AnimationAlloc ++ class _OgreExport AnimationState : public AnimationAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(AnimationState); + + /// typedef for an array of float values used as a bone blend mask + typedef std::vector<float> BoneBlendMask; +@@ -177,6 +178,8 @@ + class _OgreExport AnimationStateSet : public AnimationAlloc + { + public: ++ DECLARE_CLRHANDLE; ++ + /// Mutex, public for external locking if needed + OGRE_AUTO_MUTEX + /// Create a blank animation state set +Index: OgreMain/include/OgreAnimationTrack.h +=================================================================== +--- OgreMain/include/OgreAnimationTrack.h (revision 8525) ++++ OgreMain/include/OgreAnimationTrack.h (working copy) +@@ -43,6 +43,9 @@ + */ + class _OgreExport TimeIndex + { ++ public: ++ DECLARE_CLRHANDLE; ++ + protected: + /** The time position (in relation to the whole animation sequence) + */ +@@ -113,9 +116,10 @@ + It is possible to change this behaviour using + setUseShortestRotationPath() method. + */ +- class _OgreExport AnimationTrack : public AnimationAlloc ++ class _OgreExport AnimationTrack : public AnimationAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(AnimationTrack); + + /** Listener allowing you to override certain behaviour of a track, + for example to drive animation procedurally. +@@ -256,6 +260,8 @@ + class _OgreExport NumericAnimationTrack : public AnimationTrack + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(NumericAnimationTrack); ++ + /// Constructor + NumericAnimationTrack(Animation* parent, unsigned short handle); + /// Constructor, associates with an AnimableValue +@@ -317,6 +323,8 @@ + class _OgreExport NodeAnimationTrack : public AnimationTrack + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(NodeAnimationTrack); ++ + /// Constructor + NodeAnimationTrack(Animation* parent, unsigned short handle); + /// Constructor, associates with a Node +@@ -469,6 +477,8 @@ + class _OgreExport VertexAnimationTrack : public AnimationTrack + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(VertexAnimationTrack); ++ + /** The target animation mode */ + enum TargetMode + { +Index: OgreMain/include/OgreArchive.h +=================================================================== +--- OgreMain/include/OgreArchive.h (revision 8525) ++++ OgreMain/include/OgreArchive.h (working copy) +@@ -78,8 +78,11 @@ + to benefit from OGRE's automatic searching of multiple file locations + for the resources you are looking for. + */ +- class _OgreExport Archive : public ArchiveAlloc ++ class _OgreExport Archive : public ArchiveAlloc, public CLRObject + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Archive); ++ + protected: + /// Archive name + String mName; +Index: OgreMain/include/OgreBillboard.h +=================================================================== +--- OgreMain/include/OgreBillboard.h (revision 8525) ++++ OgreMain/include/OgreBillboard.h (working copy) +@@ -60,6 +60,9 @@ + + class _OgreExport Billboard : public FXAlloc + { ++ public: ++ DECLARE_CLRHANDLE; ++ + friend class BillboardSet; + friend class BillboardParticleRenderer; + protected: +Index: OgreMain/include/OgreBillboardChain.h +=================================================================== +--- OgreMain/include/OgreBillboardChain.h (revision 8525) ++++ OgreMain/include/OgreBillboardChain.h (working copy) +@@ -71,6 +71,7 @@ + { + + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(BillboardChain); + + /** Contains the data of an element of the BillboardChain. + */ +@@ -327,6 +328,9 @@ + /** Factory object for creating BillboardChain instances */ + class _OgreExport BillboardChainFactory : public MovableObjectFactory + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(BillboardChainFactory); ++ + protected: + MovableObject* createInstanceImpl( const String& name, const NameValuePairList* params); + public: +Index: OgreMain/include/OgreBillboardParticleRenderer.h +=================================================================== +--- OgreMain/include/OgreBillboardParticleRenderer.h (revision 8525) ++++ OgreMain/include/OgreBillboardParticleRenderer.h (working copy) +@@ -44,6 +44,9 @@ + */ + class _OgreExport BillboardParticleRenderer : public ParticleSystemRenderer + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(BillboardParticleRenderer); ++ + protected: + /// The billboard set that's doing the rendering + BillboardSet* mBillboardSet; +Index: OgreMain/include/OgreBillboardSet.h +=================================================================== +--- OgreMain/include/OgreBillboardSet.h (revision 8525) ++++ OgreMain/include/OgreBillboardSet.h (working copy) +@@ -102,6 +102,9 @@ + */ + class _OgreExport BillboardSet : public MovableObject, public Renderable + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(BillboardSet); ++ + protected: + /** Private constructor (instances cannot be created directly). + */ +@@ -821,6 +824,9 @@ + /** Factory object for creating BillboardSet instances */ + class _OgreExport BillboardSetFactory : public MovableObjectFactory + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(BillboardSetFactory); ++ + protected: + MovableObject* createInstanceImpl( const String& name, const NameValuePairList* params); + public: +Index: OgreMain/include/OgreBone.h +=================================================================== +--- OgreMain/include/OgreBone.h (revision 8525) ++++ OgreMain/include/OgreBone.h (working copy) +@@ -45,6 +45,8 @@ + class _OgreExport Bone : public Node + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Bone); ++ + /** Constructor, not to be used directly (use Bone::createChild or Skeleton::createBone) */ + Bone(unsigned short handle, Skeleton* creator); + /** Constructor, not to be used directly (use Bone::createChild or Skeleton::createBone) */ +Index: OgreMain/include/OgreBorderPanelOverlayElement.h +=================================================================== +--- OgreMain/include/OgreBorderPanelOverlayElement.h (revision 8525) ++++ OgreMain/include/OgreBorderPanelOverlayElement.h (working copy) +@@ -51,6 +51,9 @@ + */ + class _OgreExport BorderPanelOverlayElement : public PanelOverlayElement + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(BorderPanelOverlayElement); ++ + friend class BorderRenderable; + public: + /** Constructor */ +@@ -312,8 +315,11 @@ + We need this because we have to render twice, once with the inner panel's repeating + material (handled by superclass) and once for the border's separate material. + */ +- class _OgreExport BorderRenderable : public Renderable, public OverlayAlloc ++ class _OgreExport BorderRenderable : public Renderable, public OverlayAlloc, public CLRObject + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(BorderRenderable); ++ + protected: + BorderPanelOverlayElement* mParent; + public: +Index: OgreMain/include/OgreCamera.h +=================================================================== +--- OgreMain/include/OgreCamera.h (revision 8525) ++++ OgreMain/include/OgreCamera.h (working copy) +@@ -80,6 +80,9 @@ + */ + class _OgreExport Camera : public Frustum + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Camera); ++ + protected: + /// Camera name + String mName; +Index: OgreMain/include/OgreCodec.h +=================================================================== +--- OgreMain/include/OgreCodec.h (revision 8525) ++++ OgreMain/include/OgreCodec.h (working copy) +@@ -46,8 +46,11 @@ + The codec concept is a pretty generic one - you can easily understand + how it can be used for images, sounds, archives, even compressed data. + */ +- class _OgreExport Codec : public CodecAlloc ++ class _OgreExport Codec : public CodecAlloc, public CLRObject + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Codec); ++ + protected: + typedef std::map< String, Codec* > CodecList; + /** A map that contains all the registered codecs. +@@ -55,9 +58,11 @@ + static CodecList ms_mapCodecs; + + public: +- class _OgrePrivate CodecData : public CodecAlloc ++ class _OgrePrivate CodecData : public CodecAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Codec_CodecData); ++ + virtual ~CodecData() {}; + + /** Returns the type of the data. +Index: OgreMain/include/OgreCompositionPass.h +=================================================================== +--- OgreMain/include/OgreCompositionPass.h (revision 8525) ++++ OgreMain/include/OgreCompositionPass.h (working copy) +@@ -41,6 +41,8 @@ + class _OgreExport CompositionPass : public CompositorInstAlloc + { + public: ++ DECLARE_CLRHANDLE; ++ + CompositionPass(CompositionTargetPass *parent); + ~CompositionPass(); + +@@ -203,6 +205,8 @@ + /// Inputs (for material used for rendering the quad) + struct InputTex + { ++ DECLARE_CLRHANDLE; ++ + /// Name (local) of the input texture (empty == no input) + String name; + /// MRT surface index if applicable +Index: OgreMain/include/OgreCompositionTargetPass.h +=================================================================== +--- OgreMain/include/OgreCompositionTargetPass.h (revision 8525) ++++ OgreMain/include/OgreCompositionTargetPass.h (working copy) +@@ -39,6 +39,8 @@ + class _OgreExport CompositionTargetPass : public CompositorInstAlloc + { + public: ++ DECLARE_CLRHANDLE; ++ + CompositionTargetPass(CompositionTechnique *parent); + ~CompositionTargetPass(); + +Index: OgreMain/include/OgreCompositionTechnique.h +=================================================================== +--- OgreMain/include/OgreCompositionTechnique.h (revision 8525) ++++ OgreMain/include/OgreCompositionTechnique.h (working copy) +@@ -36,9 +36,11 @@ + namespace Ogre { + /** Base composition technique, can be subclassed in plugins. + */ +- class _OgreExport CompositionTechnique : public CompositorInstAlloc ++ class _OgreExport CompositionTechnique : public CompositorInstAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(CompositionTechnique); ++ + CompositionTechnique(Compositor *parent); + virtual ~CompositionTechnique(); + +Index: OgreMain/include/OgreCompositor.h +=================================================================== +--- OgreMain/include/OgreCompositor.h (revision 8525) ++++ OgreMain/include/OgreCompositor.h (working copy) +@@ -43,6 +43,8 @@ + class _OgreExport Compositor: public Resource + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Compositor); ++ + Compositor(ResourceManager* creator, const String& name, ResourceHandle handle, + const String& group, bool isManual = false, ManualResourceLoader* loader = 0); + ~Compositor(); +Index: OgreMain/include/OgreCompositorChain.h +=================================================================== +--- OgreMain/include/OgreCompositorChain.h (revision 8525) ++++ OgreMain/include/OgreCompositorChain.h (working copy) +@@ -38,9 +38,11 @@ + + /** Chain of compositor effects applying to one viewport. + */ +- class _OgreExport CompositorChain: public RenderTargetListener, public CompositorInstAlloc ++ class _OgreExport CompositorChain: public RenderTargetListener, public CompositorInstAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(CompositorChain); ++ + CompositorChain(Viewport *vp); + /** Another gcc warning here, which is no problem because RenderTargetListener is never used + to delete an object. +Index: OgreMain/include/OgreCompositorInstance.h +=================================================================== +--- OgreMain/include/OgreCompositorInstance.h (revision 8525) ++++ OgreMain/include/OgreCompositorInstance.h (working copy) +@@ -39,9 +39,11 @@ + /** An instance of a Compositor object for one Viewport. It is part of the CompositorChain + for a Viewport. + */ +- class _OgreExport CompositorInstance : public CompositorInstAlloc ++ class _OgreExport CompositorInstance : public CompositorInstAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(CompositorInstance); ++ + CompositorInstance(Compositor *filter, CompositionTechnique *technique, CompositorChain *chain); + virtual ~CompositorInstance(); + /** Provides an interface to "listen in" to to render system operations executed by this +Index: OgreMain/include/OgreEdgeListBuilder.h +=================================================================== +--- OgreMain/include/OgreEdgeListBuilder.h (revision 8525) ++++ OgreMain/include/OgreEdgeListBuilder.h (working copy) +@@ -46,6 +46,8 @@ + class _OgreExport EdgeData : public EdgeDataAlloc + { + public: ++ DECLARE_CLRHANDLE; ++ + /** Basic triangle structure. */ + struct Triangle { + /** The set of indexes this triangle came from (NB it is possible that the triangles on +Index: OgreMain/include/OgreEntity.h +=================================================================== +--- OgreMain/include/OgreEntity.h (revision 8525) ++++ OgreMain/include/OgreEntity.h (working copy) +@@ -74,6 +74,9 @@ + */ + class _OgreExport Entity: public MovableObject, public Resource::Listener + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Entity); ++ + // Allow EntityFactory full access + friend class EntityFactory; + friend class SubEntity; +@@ -757,6 +760,9 @@ + /** Factory object for creating Entity instances */ + class _OgreExport EntityFactory : public MovableObjectFactory + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(EntityFactory); ++ + protected: + MovableObject* createInstanceImpl( const String& name, const NameValuePairList* params); + public: +Index: OgreMain/include/OgreExternalTextureSource.h +=================================================================== +--- OgreMain/include/OgreExternalTextureSource.h (revision 8525) ++++ OgreMain/include/OgreExternalTextureSource.h (working copy) +@@ -65,9 +65,11 @@ + before calling create defined texture... or it will fail, though, it + is up to the plugin to report errors to the log file, or raise an + exception if need be. */ +- class _OgreExport ExternalTextureSource : public StringInterface ++ class _OgreExport ExternalTextureSource : public StringInterface, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ExternalTextureSource); ++ + /** Constructor */ + ExternalTextureSource(); + /** Virtual destructor */ +Index: OgreMain/include/OgreFileSystem.h +=================================================================== +--- OgreMain/include/OgreFileSystem.h (revision 8525) ++++ OgreMain/include/OgreFileSystem.h (working copy) +@@ -41,6 +41,9 @@ + */ + class _OgreExport FileSystemArchive : public Archive + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(FileSystemArchive); ++ + protected: + /** Utility method to retrieve all files in a directory matching pattern. + @param pattern File pattern +Index: OgreMain/include/OgreFont.h +=================================================================== +--- OgreMain/include/OgreFont.h (revision 8525) ++++ OgreMain/include/OgreFont.h (working copy) +@@ -59,6 +59,9 @@ + */ + class _OgreExport Font : public Resource, public ManualResourceLoader + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Font); ++ + protected: + /// Command object for Font - see ParamCommand + class _OgreExport CmdType : public ParamCommand +Index: OgreMain/include/OgreFrustum.h +=================================================================== +--- OgreMain/include/OgreFrustum.h (revision 8525) ++++ OgreMain/include/OgreFrustum.h (working copy) +@@ -64,6 +64,9 @@ + */ + class _OgreExport Frustum : public MovableObject, public Renderable + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Frustum); ++ + protected: + /// Orthographic or perspective? + ProjectionType mProjType; +Index: OgreMain/include/OgreGpuProgram.h +=================================================================== +--- OgreMain/include/OgreGpuProgram.h (revision 8525) ++++ OgreMain/include/OgreGpuProgram.h (working copy) +@@ -268,6 +268,8 @@ + class _OgreExport GpuProgramParameters : public GpuParamsAlloc + { + public: ++ DECLARE_CLRHANDLE; ++ + /** Defines the types of automatically updated values that may be bound to GpuProgram + parameters, or used to modify parameters on a per-object basis. + */ +@@ -1406,6 +1408,9 @@ + */ + class _OgreExport GpuProgram : public Resource + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(GpuProgram); ++ + protected: + /// Command object - see ParamCommand + class _OgreExport CmdType : public ParamCommand +Index: OgreMain/include/OgreHardwareBuffer.h +=================================================================== +--- OgreMain/include/OgreHardwareBuffer.h (revision 8525) ++++ OgreMain/include/OgreHardwareBuffer.h (working copy) +@@ -65,10 +65,12 @@ + You should look for the 'useShadowBuffer' parameter on the creation methods used to create + the buffer of the type you require (see HardwareBufferManager) to enable this feature. + */ +- class _OgreExport HardwareBuffer : public BufferAlloc ++ class _OgreExport HardwareBuffer : public BufferAlloc, public CLRObject + { + + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(HardwareBuffer); ++ + /// Enums describing buffer usage; not mutually exclusive + enum Usage + { +Index: OgreMain/include/OgreHardwareIndexBuffer.h +=================================================================== +--- OgreMain/include/OgreHardwareIndexBuffer.h (revision 8525) ++++ OgreMain/include/OgreHardwareIndexBuffer.h (working copy) +@@ -40,6 +40,8 @@ + class _OgreExport HardwareIndexBuffer : public HardwareBuffer + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(HardwareIndexBuffer); ++ + enum IndexType { + IT_16BIT, + IT_32BIT +Index: OgreMain/include/OgreHardwareOcclusionQuery.h +=================================================================== +--- OgreMain/include/OgreHardwareOcclusionQuery.h (revision 8525) ++++ OgreMain/include/OgreHardwareOcclusionQuery.h (working copy) +@@ -43,12 +43,14 @@ + * @author Lee Sandberg + * Updated on 13/8/2005 by Tuan Kuranes email: tua...@fr... + */ +- class _OgreExport HardwareOcclusionQuery : public RenderSysAlloc ++ class _OgreExport HardwareOcclusionQuery : public RenderSysAlloc, public CLRObject + { + //---------------------------------------------------------------------- + // Public methods + //-- + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(HardwareOcclusionQuery); ++ + /** + * Object public member functions + */ +Index: OgreMain/include/OgreHardwarePixelBuffer.h +=================================================================== +--- OgreMain/include/OgreHardwarePixelBuffer.h (revision 8525) ++++ OgreMain/include/OgreHardwarePixelBuffer.h (working copy) +@@ -46,6 +46,9 @@ + */ + class _OgreExport HardwarePixelBuffer : public HardwareBuffer + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(HardwarePixelBuffer); ++ + protected: + // Extents + size_t mWidth, mHeight, mDepth; +Index: OgreMain/include/OgreHardwareVertexBuffer.h +=================================================================== +--- OgreMain/include/OgreHardwareVertexBuffer.h (revision 8525) ++++ OgreMain/include/OgreHardwareVertexBuffer.h (working copy) +@@ -39,6 +39,9 @@ + /** Specialisation of HardwareBuffer for a vertex buffer. */ + class _OgreExport HardwareVertexBuffer : public HardwareBuffer + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(HardwareVertexBuffer); ++ + protected: + + size_t mNumVertices; +@@ -288,9 +291,11 @@ + Like the other classes in this functional area, these declarations should be created and + destroyed using the HardwareBufferManager. + */ +- class _OgreExport VertexDeclaration : public VertexDataAlloc ++ class _OgreExport VertexDeclaration : public VertexDataAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(VertexDeclaration); ++ + /// Defines the list of vertex elements that makes up this declaration + typedef std::list<VertexElement> VertexElementList; + /// Sort routine for vertex elements +@@ -463,9 +468,11 @@ + Like the other classes in this functional area, these binding maps should be created and + destroyed using the HardwareBufferManager. + */ +- class _OgreExport VertexBufferBinding : public VertexDataAlloc ++ class _OgreExport VertexBufferBinding : public VertexDataAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(VertexBufferBinding); ++ + /// Defines the vertex buffer bindings used as source for vertex declarations + typedef std::map<unsigned short, HardwareVertexBufferSharedPtr> VertexBufferBindingMap; + protected: +Index: OgreMain/include/OgreHighLevelGpuProgram.h +=================================================================== +--- OgreMain/include/OgreHighLevelGpuProgram.h (revision 8525) ++++ OgreMain/include/OgreHighLevelGpuProgram.h (working copy) +@@ -57,6 +57,9 @@ + */ + class _OgreExport HighLevelGpuProgram : public GpuProgram + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(HighLevelGpuProgram); ++ + protected: + /// Whether the high-level program (and it's parameter defs) is loaded + bool mHighLevelLoaded; +Index: OgreMain/include/OgreImage.h +=================================================================== +--- OgreMain/include/OgreImage.h (revision 8525) ++++ OgreMain/include/OgreImage.h (working copy) +@@ -56,6 +56,8 @@ + class _OgreExport Image : public ImageAlloc + { + public: ++ DECLARE_CLRHANDLE; ++ + typedef Ogre::Box Box; + typedef Ogre::Rect Rect; + public: +Index: OgreMain/include/OgreImageCodec.h +=================================================================== +--- OgreMain/include/OgreImageCodec.h (revision 8525) ++++ OgreMain/include/OgreImageCodec.h (working copy) +@@ -42,12 +42,16 @@ + class _OgreExport ImageCodec : public Codec + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ImageCodec); ++ + virtual ~ImageCodec(); + /** Codec return class for images. Has information about the size and the + pixel format of the image. */ + class _OgrePrivate ImageData : public Codec::CodecData + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ImageCodec_ImageData); ++ + ImageData(): + height(0), width(0), depth(1), size(0), + num_mipmaps(0), flags(0), format(PF_UNKNOWN) +Index: OgreMain/include/OgreInstancedGeometry.h +=================================================================== +--- OgreMain/include/OgreInstancedGeometry.h (revision 8525) ++++ OgreMain/include/OgreInstancedGeometry.h (working copy) +@@ -95,9 +95,11 @@ + @note + Warning: this class only works with indexed triangle lists at the moment, do not pass it triangle strips, fans or lines / points, or unindexed geometry. + */ +- class _OgreExport InstancedGeometry : public BatchedGeometryAlloc ++ class _OgreExport InstancedGeometry : public BatchedGeometryAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(InstancedGeometry); ++ + /** Struct holding geometry optimised per SubMesh / lod level, ready + for copying to instances. + @remarks +@@ -246,6 +248,9 @@ + }; + class _OgreExport InstancedObject : public BatchedGeometryAlloc + { ++ public: ++ DECLARE_CLRHANDLE; ++ + friend class GeometryBucket; + public: + enum TransformSpace +Index: OgreMain/include/OgreKeyFrame.h +=================================================================== +--- OgreMain/include/OgreKeyFrame.h (revision 8525) ++++ OgreMain/include/OgreKeyFrame.h (working copy) +@@ -47,9 +47,10 @@ + animation sequence, with the exact state of the animation being an + interpolation between these key frames. + */ +- class _OgreExport KeyFrame : public AnimationAlloc ++ class _OgreExport KeyFrame : public AnimationAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(KeyFrame); + + /** Default constructor, you should not call this but use AnimationTrack::createKeyFrame instead. */ + KeyFrame(const AnimationTrack* parent, Real time); +@@ -74,6 +75,8 @@ + class _OgreExport NumericKeyFrame : public KeyFrame + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(NumericKeyFrame); ++ + /** Default constructor, you should not call this but use AnimationTrack::createKeyFrame instead. */ + NumericKeyFrame(const AnimationTrack* parent, Real time); + ~NumericKeyFrame() {} +@@ -97,6 +100,8 @@ + class _OgreExport TransformKeyFrame : public KeyFrame + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(TransformKeyFrame); ++ + /** Default constructor, you should not call this but use AnimationTrack::createKeyFrame instead. */ + TransformKeyFrame(const AnimationTrack* parent, Real time); + ~TransformKeyFrame() {} +@@ -148,6 +153,8 @@ + class _OgreExport VertexMorphKeyFrame : public KeyFrame + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(VertexMorphKeyFrame); ++ + /** Default constructor, you should not call this but use AnimationTrack::createKeyFrame instead. */ + VertexMorphKeyFrame(const AnimationTrack* parent, Real time); + ~VertexMorphKeyFrame() {} +@@ -178,6 +185,8 @@ + class _OgreExport VertexPoseKeyFrame : public KeyFrame + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(VertexPoseKeyFrame); ++ + /** Default constructor, you should not call this but use AnimationTrack::createKeyFrame instead. */ + VertexPoseKeyFrame(const AnimationTrack* parent, Real time); + ~VertexPoseKeyFrame() {} +Index: OgreMain/include/OgreLight.h +=================================================================== +--- OgreMain/include/OgreLight.h (revision 8525) ++++ OgreMain/include/OgreLight.h (working copy) +@@ -67,6 +67,8 @@ + class _OgreExport Light : public MovableObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Light); ++ + /// Temp tag used for sorting + Real tempSquareDist; + /// internal method for calculating current squared distance from some world position +@@ -468,6 +470,9 @@ + /** Factory object for creating Light instances */ + class _OgreExport LightFactory : public MovableObjectFactory + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(LightFactory); ++ + protected: + MovableObject* createInstanceImpl( const String& name, const NameValuePairList* params); + public: +Index: OgreMain/include/OgreLog.h +=================================================================== +--- OgreMain/include/OgreLog.h (revision 8525) ++++ OgreMain/include/OgreLog.h (working copy) +@@ -86,6 +86,9 @@ + */ + class _OgreExport Log : public LogAlloc + { ++ public: ++ DECLARE_CLRHANDLE; ++ + protected: + std::ofstream mfpLog; + LoggingLevel mLogLevel; +@@ -177,6 +180,9 @@ + */ + class Stream + { ++ public: ++ DECLARE_CLRHANDLE; ++ + protected: + Log* mTarget; + LogMessageLevel mLevel; +Index: OgreMain/include/OgreManualObject.h +=================================================================== +--- OgreMain/include/OgreManualObject.h (revision 8525) ++++ OgreMain/include/OgreManualObject.h (working copy) +@@ -101,6 +101,8 @@ + class _OgreExport ManualObject : public MovableObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ManualObject); ++ + ManualObject(const String& name); + virtual ~ManualObject(); + +@@ -377,8 +379,11 @@ + + + /// Built, renderable section of geometry +- class _OgreExport ManualObjectSection : public Renderable, public MovableAlloc ++ class _OgreExport ManualObjectSection : public Renderable, public MovableAlloc, public CLRObject + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ManualObject_ManualObjectSection); ++ + protected: + ManualObject* mParent; + String mMaterialName; +@@ -421,6 +426,9 @@ + /** Nested class to allow shadows. */ + class _OgreExport ManualObjectSectionShadowRenderable : public ShadowRenderable + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ManualObject_ManualObjectSectionShadowRenderable); ++ + protected: + ManualObject* mParent; + // Shared link to position buffer +@@ -521,6 +529,9 @@ + /** Factory object for creating ManualObject instances */ + class _OgreExport ManualObjectFactory : public MovableObjectFactory + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ManualObjectFactory); ++ + protected: + MovableObject* createInstanceImpl( const String& name, const NameValuePairList* params); + public: +Index: OgreMain/include/OgreMaterial.h +=================================================================== +--- OgreMain/include/OgreMaterial.h (revision 8525) ++++ OgreMain/include/OgreMaterial.h (working copy) +@@ -82,6 +82,9 @@ + */ + class _OgreExport Material : public Resource + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Material); ++ + friend class SceneManager; + friend class MaterialManager; + +Index: OgreMain/include/OgreMesh.h +=================================================================== +--- OgreMain/include/OgreMesh.h (revision 8525) ++++ OgreMain/include/OgreMesh.h (working copy) +@@ -85,6 +85,9 @@ + + class _OgreExport Mesh: public Resource + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Mesh); ++ + friend class SubMesh; + friend class MeshSerializerImpl; + friend class MeshSerializerImpl_v1_2; +Index: OgreMain/include/OgreMeshSerializer.h +=================================================================== +--- OgreMain/include/OgreMeshSerializer.h (revision 8525) ++++ OgreMain/include/OgreMeshSerializer.h (working copy) +@@ -64,6 +64,8 @@ + class _OgreExport MeshSerializer : public Serializer + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(MeshSerializer); ++ + MeshSerializer(); + virtual ~MeshSerializer(); + +Index: OgreMain/include/OgreMovableObject.h +=================================================================== +--- OgreMain/include/OgreMovableObject.h (revision 8525) ++++ OgreMain/include/OgreMovableObject.h (working copy) +@@ -54,6 +54,8 @@ + class _OgreExport MovableObject : public ShadowCaster, public AnimableObject, public MovableAlloc + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(MovableObject); ++ + /** Listener which gets called back on MovableObject events. + */ + class _OgreExport Listener +@@ -507,8 +509,11 @@ + to allow all clients to produce new instances of this object, integrated + with the standard Ogre processing. + */ +- class _OgreExport MovableObjectFactory : public MovableAlloc ++ class _OgreExport MovableObjectFactory : public MovableAlloc, public CLRObject + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(MovableObjectFactory); ++ + protected: + /// Type flag, allocated if requested + unsigned long mTypeFlag; +Index: OgreMain/include/OgreMovablePlane.h +=================================================================== +--- OgreMain/include/OgreMovablePlane.h (revision 8525) ++++ OgreMain/include/OgreMovablePlane.h (working copy) +@@ -52,6 +52,9 @@ + */ + class _OgreExport MovablePlane : public Plane, public MovableObject + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(MovablePlane); ++ + protected: + mutable Plane mDerivedPlane; + mutable Vector3 mLastTranslate; +Index: OgreMain/include/OgreNode.h +=================================================================== +--- OgreMain/include/OgreNode.h (revision 8525) ++++ OgreMain/include/OgreNode.h (working copy) +@@ -51,9 +51,11 @@ + This is an abstract class - concrete classes are based on this for specific purposes, + e.g. SceneNode, Bone + */ +- class _OgreExport Node : public Renderable, public NodeAlloc ++ class _OgreExport Node : public Renderable, public NodeAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Node); ++ + /** Enumeration denoting the spaces which a transform can be relative to. + */ + enum TransformSpace +Index: OgreMain/include/OgreOverlay.h +=================================================================== +--- OgreMain/include/OgreOverlay.h (revision 8525) ++++ OgreMain/include/OgreOverlay.h (working copy) +@@ -62,10 +62,12 @@ + don't want the overlay displayed in the smaller viewports. You turn this off for + a specific viewport by calling the Viewport::setDisplayOverlays method. + */ +- class _OgreExport Overlay : public OverlayAlloc ++ class _OgreExport Overlay : public OverlayAlloc, public CLRObject + { + + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Overlay); ++ + typedef std::list<OverlayContainer*> OverlayContainerList; + protected: + String mName; +Index: OgreMain/include/OgreOverlayContainer.h +=================================================================== +--- OgreMain/include/OgreOverlayContainer.h (revision 8525) ++++ OgreMain/include/OgreOverlayContainer.h (working copy) +@@ -51,6 +51,8 @@ + class _OgreExport OverlayContainer : public OverlayElement + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(OverlayContainer); ++ + typedef std::map<String, OverlayElement*> ChildMap; + typedef MapIterator<ChildMap> ChildIterator; + typedef std::map<String, OverlayContainer*> ChildContainerMap; +Index: OgreMain/include/OgreOverlayElement.h +=================================================================== +--- OgreMain/include/OgreOverlayElement.h (revision 8525) ++++ OgreMain/include/OgreOverlayElement.h (working copy) +@@ -101,9 +101,10 @@ + Because this class is designed to be extensible, it subclasses from StringInterface + so its parameters can be set in a generic way. + */ +- class _OgreExport OverlayElement : public StringInterface, public Renderable, public OverlayAlloc ++ class _OgreExport OverlayElement : public StringInterface, public Renderable, public OverlayAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(OverlayElement); + + protected: + // Command object for setting / getting parameters +Index: OgreMain/include/OgreOverlayElementFactory.h +=================================================================== +--- OgreMain/include/OgreOverlayElementFactory.h (revision 8525) ++++ OgreMain/include/OgreOverlayElementFactory.h (working copy) +@@ -49,9 +49,11 @@ + Each OverlayElementFactory creates a single type of OverlayElement, + identified by a 'type name' which must be unique. + */ +- class _OgreExport OverlayElementFactory : public OverlayAlloc ++ class _OgreExport OverlayElementFactory : public OverlayAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(OverlayElementFactory); ++ + /** Destroy the overlay element factory */ + virtual ~OverlayElementFactory () {} + /** Creates a new OverlayElement instance with the name supplied. */ +@@ -67,6 +69,8 @@ + class _OgreExport PanelOverlayElementFactory: public OverlayElementFactory + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(PanelOverlayElementFactory); ++ + /** See OverlayElementFactory */ + OverlayElement* createOverlayElement(const String& instanceName) + { +@@ -84,6 +88,8 @@ + class _OgreExport BorderPanelOverlayElementFactory: public OverlayElementFactory + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(BorderPanelOverlayElementFactory); ++ + /** See OverlayElementFactory */ + OverlayElement* createOverlayElement(const String& instanceName) + { +@@ -101,6 +107,8 @@ + class _OgreExport TextAreaOverlayElementFactory: public OverlayElementFactory + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(TextAreaOverlayElementFactory); ++ + /** See OverlayElementFactory */ + OverlayElement* createOverlayElement(const String& instanceName) + { +Index: OgreMain/include/OgrePanelOverlayElement.h +=================================================================== +--- OgreMain/include/OgrePanelOverlayElement.h (revision 8525) ++++ OgreMain/include/OgrePanelOverlayElement.h (working copy) +@@ -53,6 +53,8 @@ + class _OgreExport PanelOverlayElement : public OverlayContainer + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(PanelOverlayElement); ++ + /** Constructor. */ + PanelOverlayElement(const String& name); + virtual ~PanelOverlayElement(); +Index: OgreMain/include/OgreParticle.h +=================================================================== +--- OgreMain/include/OgreParticle.h (revision 8525) ++++ OgreMain/include/OgreParticle.h (working copy) +@@ -54,6 +54,9 @@ + /** Class representing a single particle instance. */ + class _OgreExport Particle : public FXAlloc + { ++ public: ++ DECLARE_CLRHANDLE; ++ + protected: + /// Parent ParticleSystem + ParticleSystem* mParentSystem; +Index: OgreMain/include/OgreParticleAffector.h +=================================================================== +--- OgreMain/include/OgreParticleAffector.h (revision 8525) ++++ OgreMain/include/OgreParticleAffector.h (working copy) +@@ -55,8 +55,11 @@ + with literally infinite combinations of affector and affector types, and parameters within those + types. + */ +- class _OgreExport ParticleAffector : public StringInterface, public FXAlloc ++ class _OgreExport ParticleAffector : public StringInterface, public FXAlloc, public CLRObject + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ParticleAffector); ++ + protected: + /// Name of the type of affector, MUST be initialised by subclasses + String mType; +Index: OgreMain/include/OgreParticleAffectorFactory.h +=================================================================== +--- OgreMain/include/OgreParticleAffectorFactory.h (revision 8525) ++++ OgreMain/include/OgreParticleAffectorFactory.h (working copy) +@@ -46,8 +46,11 @@ + a name which identifies them, examples might be 'force_vector', 'attractor', or 'fader', and these can be + also be used from particle system scripts. + */ +- class _OgreExport ParticleAffectorFactory : public FXAlloc ++ class _OgreExport ParticleAffectorFactory : public FXAlloc, public CLRObject + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ParticleAffectorFactory); ++ + protected: + std::vector<ParticleAffector*> mAffectors; + public: +Index: OgreMain/include/OgreParticleEmitter.h +=================================================================== +--- OgreMain/include/OgreParticleEmitter.h (revision 8525) ++++ OgreMain/include/OgreParticleEmitter.h (working copy) +@@ -63,8 +63,11 @@ + with literally infinite combinations of emitter and affector types, and paramters within those + types. + */ +- class _OgreExport ParticleEmitter : public StringInterface, public Particle ++ class _OgreExport ParticleEmitter : public StringInterface, public Particle, public CLRObject + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ParticleEmitter); ++ + protected: + + // Command object for setting / getting parameters +Index: OgreMain/include/OgreParticleEmitterFactory.h +=================================================================== +--- OgreMain/include/OgreParticleEmitterFactory.h (revision 8525) ++++ OgreMain/include/OgreParticleEmitterFactory.h (working copy) +@@ -47,8 +47,11 @@ + a name which identifies them, examples might be 'point', 'cone', or 'box', and these can be + also be used from particle system scripts. + */ +- class _OgreExport ParticleEmitterFactory : public FXAlloc ++ class _OgreExport ParticleEmitterFactory : public FXAlloc, public CLRObject + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ParticleEmitterFactory); ++ + protected: + std::vector<ParticleEmitter*> mEmitters; + public: +Index: OgreMain/include/OgreParticleSystem.h +=================================================================== +--- OgreMain/include/OgreParticleSystem.h (revision 8525) ++++ OgreMain/include/OgreParticleSystem.h (working copy) +@@ -60,6 +60,7 @@ + class _OgreExport ParticleSystem : public StringInterface, public MovableObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ParticleSystem); + + /** Command object for quota (see ParamCommand).*/ + class _OgrePrivate CmdQuota : public ParamCommand +Index: OgreMain/include/OgreParticleSystemManager.h +=================================================================== +--- OgreMain/include/OgreParticleSystemManager.h (revision 8525) ++++ OgreMain/include/OgreParticleSystemManager.h (working copy) +@@ -371,6 +371,9 @@ + /** Factory object for creating ParticleSystem instances */ + class _OgreExport ParticleSystemFactory : public MovableObjectFactory + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ParticleSystemFactory); ++ + protected: + MovableObject* createInstanceImpl(const String& name, const NameValuePairList* params); + public: +Index: OgreMain/include/OgreParticleSystemRenderer.h +=================================================================== +--- OgreMain/include/OgreParticleSystemRenderer.h (revision 8525) ++++ OgreMain/include/OgreParticleSystemRenderer.h (working copy) +@@ -41,9 +41,11 @@ + /** Abstract class defining the interface required to be implemented + by classes which provide rendering capability to ParticleSystem instances. + */ +- class _OgreExport ParticleSystemRenderer : public StringInterface, public FXAlloc ++ class _OgreExport ParticleSystemRenderer : public StringInterface, public FXAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ParticleSystemRenderer); ++ + /// Constructor + ParticleSystemRenderer() {} + /// Destructor +Index: OgreMain/include/OgrePass.h +=================================================================== +--- OgreMain/include/OgrePass.h (revision 8525) ++++ OgreMain/include/OgrePass.h (working copy) +@@ -74,6 +74,8 @@ + class _OgreExport Pass : public PassAlloc + { + public: ++ DECLARE_CLRHANDLE; ++ + /** Definition of a functor for calculating the hashcode of a Pass. + @remarks + The hashcode of a Pass is used to sort Passes for rendering, in order +Index: OgreMain/include/OgrePatchMesh.h +=================================================================== +--- OgreMain/include/OgrePatchMesh.h (revision 8525) ++++ OgreMain/include/OgrePatchMesh.h (working copy) +@@ -41,6 +41,9 @@ + */ + class _OgreExport PatchMesh : public Mesh + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(PatchMesh); ++ + protected: + /// Internal surface definition + PatchSurface mSurface; +Index: OgreMain/include/OgrePatchSurface.h +=================================================================== +--- OgreMain/include/OgrePatchSurface.h (revision 8525) ++++ OgreMain/include/OgrePatchSurface.h (working copy) +@@ -47,6 +47,8 @@ + class _OgreExport PatchSurface : public PatchAlloc + { + public: ++ DECLARE_CLRHANDLE; ++ + PatchSurface(); + ~PatchSurface(); + +Index: OgreMain/include/OgrePlaneBoundedVolume.h +=================================================================== +--- OgreMain/include/OgrePlaneBoundedVolume.h (revision 8525) ++++ OgreMain/include/OgrePlaneBoundedVolume.h (working copy) +@@ -43,6 +43,8 @@ + class _OgreExport PlaneBoundedVolume + { + public: ++ DECLARE_CLRHANDLE; ++ + typedef std::vector<Plane> PlaneList; + /// Publicly accessible plane list, you can modify this direct + PlaneList planes; +Index: OgreMain/include/OgrePose.h +=================================================================== +--- OgreMain/include/OgrePose.h (revision 8525) ++++ OgreMain/include/OgrePose.h (working copy) +@@ -46,9 +46,11 @@ + Pose instances can be referred to by keyframes in VertexAnimationTrack in + order to animate based on blen... [truncated message content] |
From: <mog...@li...> - 2009-10-08 19:07:07
|
Revision: 277 http://mogre.svn.sourceforge.net/mogre/?rev=277&view=rev Author: realgantz Date: 2009-10-08 19:07:00 +0000 (Thu, 08 Oct 2009) Log Message: ----------- -> change version number in AssemblyInfo.cpp -> minor change in ExampleApplication/LoadingBar.cs -> start modifying the MogreSDK.nsi file Modified Paths: -------------- trunk/Mogre/Mogre/AssemblyInfo.cpp trunk/Mogre/SDK/MogreSDK.nsi trunk/Mogre/Samples/ExampleApplication/LoadingBar.cs Modified: trunk/Mogre/Mogre/AssemblyInfo.cpp =================================================================== --- trunk/Mogre/Mogre/AssemblyInfo.cpp 2009-08-28 11:22:54 UTC (rev 276) +++ trunk/Mogre/Mogre/AssemblyInfo.cpp 2009-10-08 19:07:00 UTC (rev 277) @@ -29,7 +29,7 @@ // You can specify all the value or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly:AssemblyVersionAttribute("1.6.2")]; +[assembly:AssemblyVersionAttribute("1.6.4")]; [assembly:ComVisible(false)]; Modified: trunk/Mogre/SDK/MogreSDK.nsi =================================================================== --- trunk/Mogre/SDK/MogreSDK.nsi 2009-08-28 11:22:54 UTC (rev 276) +++ trunk/Mogre/SDK/MogreSDK.nsi 2009-10-08 19:07:00 UTC (rev 277) @@ -4,7 +4,7 @@ ; HM NIS Edit Wizard helper defines !define PRODUCT_NAME "MOGRE SDK" -!define PRODUCT_VERSION "1.4.8" +!define PRODUCT_VERSION "1.6.4" !define PRODUCT_PUBLISHER "Mogre Comunity" !define PRODUCT_WEB_SITE "http://mogre.sourceforge.net" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" @@ -94,7 +94,7 @@ !insertmacro MUI_STARTMENU_WRITE_END SetOutPath "$INSTDIR\includes" SetOverwrite try - File /r /x _SVN /x .svn "..\ogrenew\ogremain\include\*.h" + File /r /x _SVN /x .svn "..\Ogre\OgreMain\include\*.h" SectionEnd @@ -104,7 +104,7 @@ !insertmacro MUI_STARTMENU_WRITE_END SetOutPath "$INSTDIR\Lib" SetOverwrite try - File /r /x _SVN /x .svn "..\ogrenew\lib\*.lib" + File /r /x _SVN /x .svn "..\Ogre\lib\*.lib" SectionEnd @@ -115,7 +115,7 @@ !insertmacro MUI_STARTMENU_WRITE_END SetOutPath "$INSTDIR\Media" SetOverwrite try - File /r /x _SVN /x .svn "..\Media\*.*" + File /r /x _SVN /x .svn "..\Ogre\Samples\Media\*.*" SectionEnd @@ -130,7 +130,6 @@ SetOutPath "$INSTDIR\" SetOverwrite try File "..\MogreSamples.sln" - File "..\MogreSamples.suo" SectionEnd @@ -162,7 +161,7 @@ !insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "Dll files for Mogre" !insertmacro MUI_DESCRIPTION_TEXT ${SEC02} "Header files util if you want compile addons for Mogre" !insertmacro MUI_DESCRIPTION_TEXT ${SEC03} "Lib files of OgreMain you can use it to link your application with Ogre (C++)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC04} "All textures, materiales, programs and scripts files for running Samples" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC04} "All textures, materials, programs and scripts files for running Samples" !insertmacro MUI_DESCRIPTION_TEXT ${SEC05} "Samples writed in C#" !insertmacro MUI_FUNCTION_DESCRIPTION_END Modified: trunk/Mogre/Samples/ExampleApplication/LoadingBar.cs =================================================================== --- trunk/Mogre/Samples/ExampleApplication/LoadingBar.cs 2009-08-28 11:22:54 UTC (rev 276) +++ trunk/Mogre/Samples/ExampleApplication/LoadingBar.cs 2009-10-08 19:07:00 UTC (rev 277) @@ -77,13 +77,14 @@ window.Update(); } - void ScriptParseStarted(string scriptName) + void ScriptParseStarted(string scriptName, out bool skipThisScript) { + skipThisScript = false; loadingCommentElement.Caption = scriptName; window.Update(); } - void ScriptParseEnded(string scriptName) + void ScriptParseEnded(string scriptName, bool skipped) { loadingBarElement.Width += progressBarInc; window.Update(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mog...@li...> - 2010-02-24 21:38:44
|
Revision: 298 http://mogre.svn.sourceforge.net/mogre/?rev=298&view=rev Author: realgantz Date: 2010-02-24 21:38:37 +0000 (Wed, 24 Feb 2010) Log Message: ----------- -> Mogre 1.7 WIP (does not compile yet !) -> more container implementation fix -> autowrap now generate code files correctly -> modify Mogre STL implementation to reflect ogre container change Modified Paths: -------------- trunk/Mogre/AutoWrap/Attributes.xml trunk/Mogre/AutoWrap/AutoWrap.csproj trunk/Mogre/AutoWrap/Meta/DefExplicitTypes.cs trunk/Mogre/AutoWrap/Meta/DefMember.cs trunk/Mogre/AutoWrap/Meta/DefNameSpace.cs trunk/Mogre/AutoWrap/Meta/DefType.cs trunk/Mogre/AutoWrap/Meta/Wrapper.cs trunk/Mogre/Mogre/Mogre_vc9.vcproj trunk/Mogre/Mogre/include/STLDeque.h trunk/Mogre/Mogre/include/STLHashMap.h trunk/Mogre/Mogre/include/STLList.h trunk/Mogre/Mogre/include/STLMap.h trunk/Mogre/Mogre/include/STLMultiMap.h trunk/Mogre/Mogre/include/STLMultiSet.h trunk/Mogre/Mogre/include/STLSet.h trunk/Mogre/Mogre/include/STLVector.h trunk/Mogre/cpp2java/xslt/input.xslt Added Paths: ----------- trunk/Mogre/Mogre/include/STLHashedVector.h Removed Paths: ------------- trunk/Mogre/Mogre/STLHashedVector.h Modified: trunk/Mogre/AutoWrap/Attributes.xml =================================================================== --- trunk/Mogre/AutoWrap/Attributes.xml 2010-02-23 21:05:59 UTC (rev 297) +++ trunk/Mogre/AutoWrap/Attributes.xml 2010-02-24 21:38:37 UTC (rev 298) @@ -18,6 +18,7 @@ <typedef name="ResourceAllocPolicy" Ignore="" /> <typedef name="ScriptingAllocPolicy" Ignore="" /> <typedef name="RenderSysAllocPolicy" Ignore="" /> + <!--ignore list of mogre 1.7 --> <typedef name="STLAllocator" Ignore="" /> <!-- Ignore the script compiler classes for now --> @@ -50,6 +51,8 @@ <class name="MaterialManager"> <class name="Listener" WrapType="Interface" /> + <!-- Mogre 1.7 for an unknow reason, OGRE_THREAD_POINTER make it in meta.xml while it was missing in the previous version --> + <function name="OGRE_THREAD_POINTER" Ignore="" /> </class> <class name="BackgroundProcessResult" WrapType="CLRHandle"> Modified: trunk/Mogre/AutoWrap/AutoWrap.csproj =================================================================== --- trunk/Mogre/AutoWrap/AutoWrap.csproj 2010-02-23 21:05:59 UTC (rev 297) +++ trunk/Mogre/AutoWrap/AutoWrap.csproj 2010-02-24 21:38:37 UTC (rev 298) @@ -5,7 +5,7 @@ <ProductVersion>9.0.21022</ProductVersion> <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{22E11F06-1C1E-41D1-B2E9-5D6B2372DE35}</ProjectGuid> - <OutputType>Exe</OutputType> + <OutputType>WinExe</OutputType> <AppDesignerFolder>Properties</AppDesignerFolder> <RootNamespace>AutoWrap</RootNamespace> <AssemblyName>AutoWrap</AssemblyName> Modified: trunk/Mogre/AutoWrap/Meta/DefExplicitTypes.cs =================================================================== --- trunk/Mogre/AutoWrap/Meta/DefExplicitTypes.cs 2010-02-23 21:05:59 UTC (rev 297) +++ trunk/Mogre/AutoWrap/Meta/DefExplicitTypes.cs 2010-02-24 21:38:37 UTC (rev 298) @@ -512,6 +512,8 @@ if (!string.IsNullOrEmpty(BaseTypeName) && BaseTypeName.IndexOf('<') != -1) { + + int CharPos = BaseTypeName.IndexOf("<"); string OgreTypeDef = BaseTypeName.Substring(0, CharPos); @@ -544,6 +546,8 @@ return new DefStdList(typedef.Element); case "HashedVector": return DefHashedVector.CreateExplicitType(typedef); + case "std::map": + return DefStdMap.CreateExplicitType(typedef); default: throw new Exception("Unexpected"); } Modified: trunk/Mogre/AutoWrap/Meta/DefMember.cs =================================================================== --- trunk/Mogre/AutoWrap/Meta/DefMember.cs 2010-02-23 21:05:59 UTC (rev 297) +++ trunk/Mogre/AutoWrap/Meta/DefMember.cs 2010-02-24 21:38:37 UTC (rev 298) @@ -111,6 +111,7 @@ { if (_type == null) { + if (Container != "") { _type = CreateExplicitContainerType(Container, ContainerKey, (ContainerValue != "") ? ContainerValue : TypeName); @@ -158,6 +159,7 @@ } public string TypeName = null; + public string Definition; public ProtectionType ProtectionType; public PassedByType PassedByType; @@ -203,6 +205,19 @@ _name = child.InnerText; break; case "type": + //(MOGRE 1.7) + //shameless fix :) change container type into the std version + + /*string CustomOgreType = child.InnerText; + int iWhiteSpace = CustomOgreType.IndexOf(" "); + + if (iWhiteSpace != -1) + { + CustomOgreType = CustomOgreType.Substring(0, iWhiteSpace); + CustomOgreType = ReplaceCustomOgreType(CustomOgreType); + }*/ + + //(END MOGRE 1.7) this.TypeName = child.InnerText; this._container = child.GetAttribute("container"); this._containerKey = child.GetAttribute("containerKey"); @@ -217,8 +232,27 @@ } } } + + /* public string ReplaceCustomOgreType(string pCustomOgreType) + { + switch (pCustomOgreType) + { + case "vector": + case "set": + case "deque": + case "list": + case "map": + case "multimap": + case "pair": + return "std::" + pCustomOgreType; + } + + return pCustomOgreType; + }*/ } + + public enum VirtualType { Virtual, NonVirtual, PureVirtual } public enum PassedByType { Value, Reference, Pointer, PointerPointer } Modified: trunk/Mogre/AutoWrap/Meta/DefNameSpace.cs =================================================================== --- trunk/Mogre/AutoWrap/Meta/DefNameSpace.cs 2010-02-23 21:05:59 UTC (rev 297) +++ trunk/Mogre/AutoWrap/Meta/DefNameSpace.cs 2010-02-24 21:38:37 UTC (rev 298) @@ -171,8 +171,6 @@ } } - Console.Out.WriteLine("Current type : " + name); - if (type == null) throw new Exception(String.Format("DefType not found for '{0}'", name)); Modified: trunk/Mogre/AutoWrap/Meta/DefType.cs =================================================================== --- trunk/Mogre/AutoWrap/Meta/DefType.cs 2010-02-23 21:05:59 UTC (rev 297) +++ trunk/Mogre/AutoWrap/Meta/DefType.cs 2010-02-24 21:38:37 UTC (rev 298) @@ -685,6 +685,11 @@ { foreach (DefMember m in Members) { + if (m.Name == "getWindowPlanes") + { + + } + if (m is DefFunction) yield return m; } @@ -1641,11 +1646,6 @@ { DefTypeDef expl = null; - /* if (typedef.FullNativeName == "Ogre::Animation::NodeTrackList") - { - - }*/ - //(Mogre 1.7) change type to reflect code change of ogre //get the real base type name if (!string.IsNullOrEmpty(typedef.BaseTypeName)) @@ -1657,6 +1657,7 @@ //int CharPos = BaseTypeName.IndexOf("<"); string OgreTypeDef = typedef.BaseTypeName; + switch (OgreTypeDef) { case "vector": Modified: trunk/Mogre/AutoWrap/Meta/Wrapper.cs =================================================================== --- trunk/Mogre/AutoWrap/Meta/Wrapper.cs 2010-02-23 21:05:59 UTC (rev 297) +++ trunk/Mogre/AutoWrap/Meta/Wrapper.cs 2010-02-24 21:38:37 UTC (rev 298) @@ -129,6 +129,7 @@ { foreach (DefType type in space.Types) { + if (TypeIsWrappable(type)) { List<DefType> list; @@ -274,6 +275,11 @@ foreach (string include in IncludeFiles.Keys) { + if (include == "OgreCamera.h") + { + + } + string wrapFile = include.Replace(".h", ""); wrapFile = GetManagedIncludeFileName(wrapFile); Modified: trunk/Mogre/Mogre/Mogre_vc9.vcproj =================================================================== --- trunk/Mogre/Mogre/Mogre_vc9.vcproj 2010-02-23 21:05:59 UTC (rev 297) +++ trunk/Mogre/Mogre/Mogre_vc9.vcproj 2010-02-24 21:38:37 UTC (rev 298) @@ -1300,11 +1300,11 @@ > </File> <File - RelativePath=".\include\Custom\MogrePlane.h" + RelativePath=".\include\auto\MogrePlane.h" > </File> <File - RelativePath=".\include\auto\MogrePlane.h" + RelativePath=".\include\Custom\MogrePlane.h" > </File> <File @@ -1636,6 +1636,10 @@ > </File> <File + RelativePath=".\include\STLHashedVector.h" + > + </File> + <File RelativePath=".\include\STLHashMap.h" > </File> Deleted: trunk/Mogre/Mogre/STLHashedVector.h =================================================================== --- trunk/Mogre/Mogre/STLHashedVector.h 2010-02-23 21:05:59 UTC (rev 297) +++ trunk/Mogre/Mogre/STLHashedVector.h 2010-02-24 21:38:37 UTC (rev 298) @@ -1,807 +0,0 @@ -#pragma once - -#define INC_DECLARE_STLHASHEDVECTOR_NONCONST( CLASS_NAME, M, N ) \ -ref class CLASS_NAME : Collections::Generic::IEnumerable<M> \ -{ \ -public: \ - typedef HashedVector<N> Container; \ - typedef Container::iterator Iter; \ - \ - ref class Enumerator : Collections::Generic::IEnumerator<M> \ - { \ - Container* _pCont; \ - Iter* _pIter; \ - \ - internal: \ - Enumerator(Container* pContainer) : _pCont(pContainer), _pIter(0) \ - { \ - } \ - \ - !Enumerator() \ - { \ - if (_pIter != 0) \ - { \ - delete _pIter; \ - _pIter = 0; \ - } \ - } \ - ~Enumerator() \ - { \ - this->!Enumerator(); \ - } \ - \ - public: \ - virtual bool MoveNext(); \ - \ - property M Current \ - { \ - virtual M get(); \ - } \ - property Object^ NonGenericCurrent \ - { \ - private: \ - virtual Object^ get() sealed = Collections::IEnumerator::Current::get; \ - } \ - \ - virtual void Reset() \ - { \ - this->!Enumerator(); \ - } \ - }; \ - \ - ref class Iterator \ - { \ - Iter* _native; \ - \ - internal: \ - Iterator( Iter& iter ) \ - { \ - _native = new Iter; \ - (*_native) = iter; \ - } \ - \ - !Iterator() \ - { \ - if (_native != 0) \ - { \ - delete _native; \ - _native = 0; \ - } \ - } \ - ~Iterator() \ - { \ - this->!Iterator(); \ - } \ - \ - inline static operator Iter& (Iterator^ it) \ - { \ - return *(it->_native); \ - } \ - \ - inline static operator Iterator^ (Iter& it) \ - { \ - return gcnew Iterator(it); \ - } \ - \ - public: \ - property M Value \ - { \ - M get(); \ - void set(M value); \ - } \ - \ - virtual bool Equals(Object^ obj) override \ - { \ - Iterator^ clr = dynamic_cast<Iterator^>(obj); \ - if (clr == CLR_NULL) \ - { \ - return false; \ - } \ - \ - return (this == clr); \ - } \ - \ - inline static bool operator ==(Iterator^ it1, Iterator^ it2) \ - { \ - if ((Object^)it1 == (Object^)it2) return true; \ - if ((Object^)it1 == nullptr || (Object^)it2 == nullptr) return false; \ - \ - return (*it1->_native) == (*it2->_native); \ - } \ - \ - inline static bool operator !=(Iterator^ it1, Iterator^ it2) \ - { \ - return !(it1 == it2); \ - } \ - \ - inline static Iterator^ operator ++(Iterator^ it) \ - { \ - ++(*it->_native); \ - return it; \ - } \ - \ - inline static Iterator^ operator --(Iterator^ it) \ - { \ - --(*it->_native); \ - return it; \ - } \ - \ - void MoveNext() \ - { \ - ++(*_native); \ - } \ - \ - void MovePrevious() \ - { \ - --(*_native); \ - } \ - }; \ - \ -internal: \ - Container* _native; \ - bool _nativeWasCreated; \ - Const_##CLASS_NAME^ _readOnly; \ - \ - CLASS_NAME( Container& cont ) : \ - _native(&cont), \ - _nativeWasCreated(false) \ - { \ - } \ - \ - CLASS_NAME( Container* cont ) : \ - _native(cont), \ - _nativeWasCreated(false) \ - { \ - } \ - \ - static CLASS_NAME^ ByValue( Container& cont ) \ - { \ - CLASS_NAME^ clr = gcnew CLASS_NAME(); \ - *clr->_native = cont; \ - return clr; \ - } \ - \ - inline static operator Container& (CLASS_NAME^ cont) \ - { \ - return *(cont->_native); \ - } \ - \ - inline static operator CLASS_NAME^ (Container& cont) \ - { \ - return gcnew CLASS_NAME(cont); \ - } \ - \ - inline static operator Container* (CLASS_NAME^ cont) \ - { \ - return (cont == CLR_NULL) ? 0 : cont->_native; \ - } \ - \ - inline static operator CLASS_NAME^ (Container* cont) \ - { \ - return (cont == 0) ? nullptr : gcnew CLASS_NAME(*cont); \ - } \ - \ -public: \ - CLASS_NAME() : \ - _native(new Container), \ - _nativeWasCreated(true) \ - { \ - } \ - \ - !CLASS_NAME() \ - { \ - if (_nativeWasCreated && _native) \ - { \ - delete _native; \ - _native = 0; \ - } \ - } \ - ~CLASS_NAME() \ - { \ - this->!CLASS_NAME(); \ - } \ - \ - property Const_##CLASS_NAME^ ReadOnlyInstance \ - { \ - Const_##CLASS_NAME^ get(); \ - } \ - \ - static operator Const_##CLASS_NAME^ (CLASS_NAME^ obj) \ - { \ - return obj->ReadOnlyInstance; \ - } \ - \ - private: virtual Collections::IEnumerator^ NonGenericGetEnumerator() sealed = Collections::IEnumerable::GetEnumerator \ - { \ - return gcnew Enumerator(_native); \ - } \ - public: virtual Collections::Generic::IEnumerator<M>^ GetEnumerator() \ - { \ - return gcnew Enumerator(_native); \ - } \ - \ - void Assign(int count, M value); \ - \ - property M Front \ - { \ - M get(); \ - } \ - \ - property M Back \ - { \ - M get(); \ - } \ - \ - Iterator^ Begin() \ - { \ - return _native->begin(); \ - } \ - \ - Iterator^ End() \ - { \ - return _native->end(); \ - } \ - \ - void Clear() \ - { \ - _native->clear(); \ - } \ - \ - property bool IsEmpty \ - { \ - bool get() { return _native->empty(); } \ - } \ - \ - void Add(M value); \ - \ - void RemoveLast() \ - { \ - _native->pop_back(); \ - } \ - \ - /*Resize removed because it requires the native class to have a default constructor*/ \ - /*void Resize(int newSize)*/ \ - /*{ */ \ - /* _native->resize(newSize);*/ \ - /*} */ \ - \ - void Resize(int newSize, M value); \ - \ - property int Count \ - { \ - int get() { return _native->size(); } \ - } \ - \ - \ - property M default[int] \ - { \ - M get(int i); \ - void set (int i, M value); \ - } \ - \ - void Erase(int index) \ - { \ - _native->erase( _native->begin() + index ); \ - } \ - \ - void Erase(int index, int count) \ - { \ - Iter& it = _native->begin() + index; \ - _native->erase( it, it + count ); \ - } \ - \ - void Insert(int index, M value); \ - \ - void Insert(int index, int count, M value); \ - \ - void Insert(int index, array<M>^ values); \ - \ - void TrimExcess() \ - { \ - _native->swap( *_native ); \ - } \ - \ - property int Capacity \ - { \ - int get() { return _native->capacity(); } \ - } \ - \ - void Reserve(int count) \ - { \ - _native->reserve(count); \ - } \ -}; - - -//########################################################################################### -//########################################################################################### - - -#define INC_DECLARE_STLHASHEDVECTOR_CONST( CLASS_NAME, M, N ) \ -ref class Const_##CLASS_NAME : Collections::Generic::IEnumerable<M> \ -{ \ -public: \ - typedef HashedVector<N> Container; \ - typedef Container::const_iterator Iter; \ - \ - ref class Enumerator : Collections::Generic::IEnumerator<M> \ - { \ - const Container* _pCont; \ - Iter* _pIter; \ - \ - internal: \ - Enumerator(const Container* pContainer) : _pCont(pContainer), _pIter(0) \ - { \ - } \ - \ - !Enumerator() \ - { \ - if (_pIter != 0) \ - { \ - delete _pIter; \ - _pIter = 0; \ - } \ - } \ - ~Enumerator() \ - { \ - this->!Enumerator(); \ - } \ - \ - public: \ - virtual bool MoveNext(); \ - \ - property M Current \ - { \ - virtual M get(); \ - } \ - property Object^ NonGenericCurrent \ - { \ - private: \ - virtual Object^ get() sealed = Collections::IEnumerator::Current::get; \ - } \ - \ - virtual void Reset() \ - { \ - this->!Enumerator(); \ - } \ - }; \ - \ - ref class ConstIterator \ - { \ - Iter* _native; \ - \ - internal: \ - ConstIterator( Iter& iter ) \ - { \ - _native = new Iter; \ - (*_native) = iter; \ - } \ - \ - !ConstIterator() \ - { \ - if (_native != 0) \ - { \ - delete _native; \ - _native = 0; \ - } \ - } \ - ~ConstIterator() \ - { \ - this->!ConstIterator(); \ - } \ - \ - inline static operator Iter& (ConstIterator^ it) \ - { \ - return *(it->_native); \ - } \ - \ - inline static operator ConstIterator^ (Iter& it) \ - { \ - return gcnew ConstIterator(it); \ - } \ - \ - public: \ - property M Value \ - { \ - M get(); \ - } \ - \ - virtual bool Equals(Object^ obj) override \ - { \ - ConstIterator^ clr = dynamic_cast<ConstIterator^>(obj); \ - if (clr == CLR_NULL) \ - { \ - return false; \ - } \ - \ - return (this == clr); \ - } \ - \ - inline static bool operator ==(ConstIterator^ it1, ConstIterator^ it2) \ - { \ - if ((Object^)it1 == (Object^)it2) return true; \ - if ((Object^)it1 == nullptr || (Object^)it2 == nullptr) return false; \ - \ - return (*it1->_native) == (*it2->_native); \ - } \ - \ - inline static bool operator !=(ConstIterator^ it1, ConstIterator^ it2) \ - { \ - return !(it1 == it2); \ - } \ - \ - inline static ConstIterator^ operator ++(ConstIterator^ it) \ - { \ - ++(*it->_native); \ - return it; \ - } \ - \ - inline static ConstIterator^ operator --(ConstIterator^ it) \ - { \ - --(*it->_native); \ - return it; \ - } \ - \ - void MoveNext() \ - { \ - ++(*_native); \ - } \ - \ - void MovePrevious() \ - { \ - --(*_native); \ - } \ - }; \ - \ -internal: \ - const Container* _native; \ - CLASS_NAME^ _baseContainer; \ - \ - Const_##CLASS_NAME( const Container& cont ) : \ - _native(&cont) \ - { \ - } \ - \ - Const_##CLASS_NAME( CLASS_NAME^ baseContainer ) : \ - _native(baseContainer->_native), \ - _baseContainer(baseContainer) \ - { \ - } \ - \ - inline static operator const Container& (Const_##CLASS_NAME^ cont) \ - { \ - return *(cont->_native); \ - } \ - \ - inline static operator Const_##CLASS_NAME^ (const Container& cont) \ - { \ - return gcnew Const_##CLASS_NAME(cont); \ - } \ - \ - inline static operator const Container* (Const_##CLASS_NAME^ cont) \ - { \ - return (cont == CLR_NULL) ? 0 : cont->_native; \ - } \ - \ - inline static operator Const_##CLASS_NAME^ (const Container* cont) \ - { \ - return (cont == 0) ? nullptr : gcnew Const_##CLASS_NAME(*cont); \ - } \ - \ - inline static operator Const_##CLASS_NAME^ (CLASS_NAME^ cont) \ - { \ - return (cont == CLR_NULL) ? nullptr : cont->ReadOnlyInstance; \ - } \ - \ -public: \ - \ - private: virtual Collections::IEnumerator^ NonGenericGetEnumerator() sealed = Collections::IEnumerable::GetEnumerator \ - { \ - return gcnew Enumerator(_native); \ - } \ - public: virtual Collections::Generic::IEnumerator<M>^ GetEnumerator() \ - { \ - return gcnew Enumerator(_native); \ - } \ - \ - property M Front \ - { \ - M get(); \ - } \ - \ - property M Back \ - { \ - M get(); \ - } \ - \ - ConstIterator^ Begin() \ - { \ - return _native->begin(); \ - } \ - \ - ConstIterator^ End() \ - { \ - return _native->end(); \ - } \ - \ - property bool IsEmpty \ - { \ - bool get() { return _native->empty(); } \ - } \ - \ - property int Count \ - { \ - int get() { return _native->size(); } \ - } \ - \ - property M default[int] \ - { \ - M get(int i); \ - } \ - \ - property int Capacity \ - { \ - int get() { return _native->capacity(); } \ - } \ -}; - - -//############################################################################################## -//############################################################################################## - - -#define INC_DECLARE_STLHASHEDVECTOR_EMPTY_NONCONST( CLASS_NAME, M, N ) \ -ref class CLASS_NAME \ -{ \ -public: \ - typedef HashedVector<N> Container; \ - \ -internal: \ - Container* _native; \ - Const_##CLASS_NAME^ _readOnly; \ - \ - static CLASS_NAME^ ByValue( Container& cont ) \ - { \ - CLASS_NAME^ clr = gcnew CLASS_NAME(); \ - *clr->_native = cont; \ - return clr; \ - } \ - \ - CLASS_NAME() : \ - _native(new Container) \ - { \ - } \ - \ - !CLASS_NAME() \ - { \ - if (_native != 0) \ - { \ - delete _native; \ - _native = 0; \ - } \ - } \ - ~CLASS_NAME() \ - { \ - this->!CLASS_NAME(); \ - } \ - \ - property Const_##CLASS_NAME^ ReadOnlyInstance \ - { \ - Const_##CLASS_NAME^ get(); \ - } \ - \ - static operator Const_##CLASS_NAME^ (CLASS_NAME^ obj) \ - { \ - return obj->ReadOnlyInstance; \ - } \ -}; - - -//############################################################################################## -//############################################################################################## - - - -#define CPP_DECLARE_STLHASHEDVECTOR_NONCONST( PREFIX, CLASS_NAME, M, N ) \ - bool PREFIX##CLASS_NAME::Enumerator::MoveNext() \ - { \ - if (_pIter == 0) \ - { \ - _pIter = new Iter; \ - (*_pIter) = _pCont->begin(); \ - } \ - else \ - { \ - ++(*_pIter); \ - } \ - \ - if ( (*_pIter) == _pCont->end() ) \ - return false; \ - \ - return true; \ - } \ - \ - M PREFIX##CLASS_NAME::Enumerator::Current::get() \ - { \ - return ToManaged<M, Container::value_type>( *(*_pIter) ); \ - } \ - Object^ PREFIX##CLASS_NAME::Enumerator::NonGenericCurrent::get() \ - { \ - return ToManaged<M, Container::value_type>( *(*_pIter) ); \ - } \ - \ - M PREFIX##CLASS_NAME::Iterator::Value::get() \ - { \ - return ToManaged<M,N>( *(*_native) ); \ - } \ - void PREFIX##CLASS_NAME::Iterator::Value::set(M value) \ - { \ - *(*_native) = ToNative<M,N>( value ); \ - } \ - \ - PREFIX##Const_##CLASS_NAME^ PREFIX##CLASS_NAME::ReadOnlyInstance::get() \ - { \ - if (_readOnly == (Object^)nullptr) \ - _readOnly = gcnew Const_##CLASS_NAME(this); \ - \ - return _readOnly; \ - } \ - \ - void PREFIX##CLASS_NAME::Assign(int count, M value) \ - { \ - _native->assign(count, ToNative<M,N>( value )); \ - } \ - \ - M PREFIX##CLASS_NAME::Front::get() \ - { \ - if (IsEmpty) \ - throw gcnew System::Exception("The container is empty"); \ - return ToManaged<M,N>( _native->front() ); \ - } \ - \ - M PREFIX##CLASS_NAME::Back::get() \ - { \ - if (IsEmpty) \ - throw gcnew System::Exception("The container is empty"); \ - return ToManaged<M,N>( _native->back() ); \ - } \ - \ - void PREFIX##CLASS_NAME::Add(M value) \ - { \ - _native->push_back(ToNative<M,N>( value )); \ - } \ - \ - void PREFIX##CLASS_NAME::Resize(int newSize, M value) \ - { \ - _native->resize(newSize, ToNative<M,N>( value )); \ - } \ - \ - \ - M PREFIX##CLASS_NAME::default::get(int i) \ - { \ - return ToManaged<M,N>( _native->at(i) ); \ - } \ - void PREFIX##CLASS_NAME::default::set(int i, M value) \ - { \ - _native->at(i) = ToNative<M,N>( value ); \ - } \ - \ - void PREFIX##CLASS_NAME::Insert(int index, M value) \ - { \ - _native->insert( _native->begin() + index, ToNative<M,N>( value ) ); \ - } \ - \ - void PREFIX##CLASS_NAME::Insert(int index, int count, M value) \ - { \ - _native->insert( _native->begin() + index, count, ToNative<M,N>( value ) ); \ - } \ - \ - void PREFIX##CLASS_NAME::Insert(int index, array<M>^ values) \ - { \ - for (int i=0; i < values->Length; i++) \ - { \ - M value = values[i]; \ - _native->insert( _native->begin() + index + i, ToNative<M,N>( value ) ); \ - } \ - } - - -//########################################################################################### -//########################################################################################### - - -#define CPP_DECLARE_STLHASHEDVECTOR_CONST( PREFIX, CLASS_NAME, M, N ) \ - bool PREFIX##Const_##CLASS_NAME::Enumerator::MoveNext() \ - { \ - if (_pIter == 0) \ - { \ - _pIter = new Iter; \ - (*_pIter) = _pCont->begin(); \ - } \ - else \ - { \ - ++(*_pIter); \ - } \ - \ - if ( (*_pIter) == _pCont->end() ) \ - return false; \ - \ - return true; \ - } \ - \ - M PREFIX##Const_##CLASS_NAME::Enumerator::Current::get() \ - { \ - return ToManaged<M, Container::value_type>( *(*_pIter) ); \ - } \ - Object^ PREFIX##Const_##CLASS_NAME::Enumerator::NonGenericCurrent::get() \ - { \ - return ToManaged<M, Container::value_type>( *(*_pIter) ); \ - } \ - \ - M PREFIX##Const_##CLASS_NAME::ConstIterator::Value::get() \ - { \ - return ToManaged<M,N>( *(*_native) ); \ - } \ - \ - M PREFIX##Const_##CLASS_NAME::Front::get() \ - { \ - if (IsEmpty) \ - throw gcnew System::Exception("The container is empty"); \ - return ToManaged<M,N>( _native->front() ); \ - } \ - \ - M PREFIX##Const_##CLASS_NAME::Back::get() \ - { \ - if (IsEmpty) \ - throw gcnew System::Exception("The container is empty"); \ - return ToManaged<M,N>( _native->back() ); \ - } \ - \ - M PREFIX##Const_##CLASS_NAME::default::get(int i) \ - { \ - return ToManaged<M,N>( _native->at(i) ); \ - } - - -//############################################################################################## -//############################################################################################## - - -#define CPP_DECLARE_STLVECTOR_EMPTY_NONCONST( PREFIX, CLASS_NAME, M, N ) \ - \ - PREFIX##Const_##CLASS_NAME^ PREFIX##CLASS_NAME::ReadOnlyInstance::get() \ - { \ - if (_readOnly == (Object^)nullptr) \ - _readOnly = gcnew Const_##CLASS_NAME(this); \ - \ - return _readOnly; \ - } - - - -//############################################################################################## -//############################################################################################## - - - -#define INC_DECLARE_STLHASHEDVECTOR( CLASS_NAME, M, N, PUBLIC, PRIVATE ) \ -ref class Const_##CLASS_NAME; \ -PUBLIC INC_DECLARE_STLHASHEDVECTOR_NONCONST( CLASS_NAME, M, N ) \ -PUBLIC INC_DECLARE_STLHASHEDVECTOR_CONST( CLASS_NAME, M, N ) - - -#define INC_DECLARE_STLHASHEDVECTOR_READONLY( CLASS_NAME, M, N, PUBLIC, PRIVATE ) \ -ref class Const_##CLASS_NAME; \ -PRIVATE INC_DECLARE_STLHASHEDVECTOR_EMPTY_NONCONST( CLASS_NAME, M, N ) \ -PUBLIC INC_DECLARE_STLHASHEDVECTOR_CONST( CLASS_NAME, M, N ) - - - -#define CPP_DECLARE_STLHASHEDVECTOR( PREFIX, CLASS_NAME, M, N ) \ -CPP_DECLARE_STLHASHEDVECTOR_NONCONST( PREFIX, CLASS_NAME, M, N ) \ -CPP_DECLARE_STLHASHEDVECTOR_CONST( PREFIX, CLASS_NAME, M, N ) - - -#define CPP_DECLARE_STLHASHEDVECTOR_READONLY( PREFIX, CLASS_NAME, M, N ) \ -CPP_DECLARE_STLHASHEDVECTOR_EMPTY_NONCONST( PREFIX, CLASS_NAME, M, N ) \ -CPP_DECLARE_STLHASHEDVECTOR_CONST( PREFIX, CLASS_NAME, M, N ) Modified: trunk/Mogre/Mogre/include/STLDeque.h =================================================================== --- trunk/Mogre/Mogre/include/STLDeque.h 2010-02-23 21:05:59 UTC (rev 297) +++ trunk/Mogre/Mogre/include/STLDeque.h 2010-02-24 21:38:37 UTC (rev 298) @@ -4,7 +4,7 @@ ref class CLASS_NAME : Collections::Generic::IEnumerable<M> \ { \ public: \ - typedef std::deque<N> Container; \ + typedef Ogre::deque<N> Container; \ typedef Container::iterator Iter; \ \ ref class Enumerator : Collections::Generic::IEnumerator<M> \ @@ -317,7 +317,7 @@ ref class Const_##CLASS_NAME : Collections::Generic::IEnumerable<M> \ { \ public: \ - typedef std::deque<N> Container; \ + typedef Ogre::deque<N> Container; \ typedef Container::const_iterator Iter; \ \ ref class Enumerator : Collections::Generic::IEnumerator<M> \ @@ -545,7 +545,7 @@ ref class CLASS_NAME \ { \ public: \ - typedef std::deque<N> Container; \ + typedef Ogre::deque<N> Container; \ \ internal: \ Container* _native; \ Modified: trunk/Mogre/Mogre/include/STLHashMap.h =================================================================== --- trunk/Mogre/Mogre/include/STLHashMap.h 2010-02-23 21:05:59 UTC (rev 297) +++ trunk/Mogre/Mogre/include/STLHashMap.h 2010-02-24 21:38:37 UTC (rev 298) @@ -96,13 +96,13 @@ \ virtual bool Equals(Object^ obj) override \ { \ - Iterator^ clr = dynamic_cast<Iterator^>(obj); \ - if (clr == CLR_NULL) \ - { \ - return false; \ - } \ - \ - return (this == clr); \ + Iterator^ clr = dynamic_cast<Iterator^>(obj); \ + if (clr == CLR_NULL) \ + { \ + return false; \ + } \ + \ + return (this == clr); \ } \ \ inline static bool operator ==(Iterator^ it1, Iterator^ it2) \ @@ -380,13 +380,13 @@ \ virtual bool Equals(Object^ obj) override \ { \ - ConstIterator^ clr = dynamic_cast<ConstIterator^>(obj); \ - if (clr == CLR_NULL) \ - { \ - return false; \ - } \ - \ - return (this == clr); \ + ConstIterator^ clr = dynamic_cast<ConstIterator^>(obj); \ + if (clr == CLR_NULL) \ + { \ + return false; \ + } \ + \ + return (this == clr); \ } \ \ inline static bool operator ==(ConstIterator^ it1, ConstIterator^ it2) \ Added: trunk/Mogre/Mogre/include/STLHashedVector.h =================================================================== --- trunk/Mogre/Mogre/include/STLHashedVector.h (rev 0) +++ trunk/Mogre/Mogre/include/STLHashedVector.h 2010-02-24 21:38:37 UTC (rev 298) @@ -0,0 +1,807 @@ +#pragma once + +#define INC_DECLARE_STLHASHEDVECTOR_NONCONST( CLASS_NAME, M, N ) \ +ref class CLASS_NAME : Collections::Generic::IEnumerable<M> \ +{ \ +public: \ + typedef HashedVector<N> Container; \ + typedef Container::iterator Iter; \ + \ + ref class Enumerator : Collections::Generic::IEnumerator<M> \ + { \ + Container* _pCont; \ + Iter* _pIter; \ + \ + internal: \ + Enumerator(Container* pContainer) : _pCont(pContainer), _pIter(0) \ + { \ + } \ + \ + !Enumerator() \ + { \ + if (_pIter != 0) \ + { \ + delete _pIter; \ + _pIter = 0; \ + } \ + } \ + ~Enumerator() \ + { \ + this->!Enumerator(); \ + } \ + \ + public: \ + virtual bool MoveNext(); \ + \ + property M Current \ + { \ + virtual M get(); \ + } \ + property Object^ NonGenericCurrent \ + { \ + private: \ + virtual Object^ get() sealed = Collections::IEnumerator::Current::get; \ + } \ + \ + virtual void Reset() \ + { \ + this->!Enumerator(); \ + } \ + }; \ + \ + ref class Iterator \ + { \ + Iter* _native; \ + \ + internal: \ + Iterator( Iter& iter ) \ + { \ + _native = new Iter; \ + (*_native) = iter; \ + } \ + \ + !Iterator() \ + { \ + if (_native != 0) \ + { \ + delete _native; \ + _native = 0; \ + } \ + } \ + ~Iterator() \ + { \ + this->!Iterator(); \ + } \ + \ + inline static operator Iter& (Iterator^ it) \ + { \ + return *(it->_native); \ + } \ + \ + inline static operator Iterator^ (Iter& it) \ + { \ + return gcnew Iterator(it); \ + } \ + \ + public: \ + property M Value \ + { \ + M get(); \ + void set(M value); \ + } \ + \ + virtual bool Equals(Object^ obj) override \ + { \ + Iterator^ clr = dynamic_cast<Iterator^>(obj); \ + if (clr == CLR_NULL) \ + { \ + return false; \ + } \ + \ + return (this == clr); \ + } \ + \ + inline static bool operator ==(Iterator^ it1, Iterator^ it2) \ + { \ + if ((Object^)it1 == (Object^)it2) return true; \ + if ((Object^)it1 == nullptr || (Object^)it2 == nullptr) return false; \ + \ + return (*it1->_native) == (*it2->_native); \ + } \ + \ + inline static bool operator !=(Iterator^ it1, Iterator^ it2) \ + { \ + return !(it1 == it2); \ + } \ + \ + inline static Iterator^ operator ++(Iterator^ it) \ + { \ + ++(*it->_native); \ + return it; \ + } \ + \ + inline static Iterator^ operator --(Iterator^ it) \ + { \ + --(*it->_native); \ + return it; \ + } \ + \ + void MoveNext() \ + { \ + ++(*_native); \ + } \ + \ + void MovePrevious() \ + { \ + --(*_native); \ + } \ + }; \ + \ +internal: \ + Container* _native; \ + bool _nativeWasCreated; \ + Const_##CLASS_NAME^ _readOnly; \ + \ + CLASS_NAME( Container& cont ) : \ + _native(&cont), \ + _nativeWasCreated(false) \ + { \ + } \ + \ + CLASS_NAME( Container* cont ) : \ + _native(cont), \ + _nativeWasCreated(false) \ + { \ + } \ + \ + static CLASS_NAME^ ByValue( Container& cont ) \ + { \ + CLASS_NAME^ clr = gcnew CLASS_NAME(); \ + *clr->_native = cont; \ + return clr; \ + } \ + \ + inline static operator Container& (CLASS_NAME^ cont) \ + { \ + return *(cont->_native); \ + } \ + \ + inline static operator CLASS_NAME^ (Container& cont) \ + { \ + return gcnew CLASS_NAME(cont); \ + } \ + \ + inline static operator Container* (CLASS_NAME^ cont) \ + { \ + return (cont == CLR_NULL) ? 0 : cont->_native; \ + } \ + \ + inline static operator CLASS_NAME^ (Container* cont) \ + { \ + return (cont == 0) ? nullptr : gcnew CLASS_NAME(*cont); \ + } \ + \ +public: \ + CLASS_NAME() : \ + _native(new Container), \ + _nativeWasCreated(true) \ + { \ + } \ + \ + !CLASS_NAME() \ + { \ + if (_nativeWasCreated && _native) \ + { \ + delete _native; \ + _native = 0; \ + } \ + } \ + ~CLASS_NAME() \ + { \ + this->!CLASS_NAME(); \ + } \ + \ + property Const_##CLASS_NAME^ ReadOnlyInstance \ + { \ + Const_##CLASS_NAME^ get(); \ + } \ + \ + static operator Const_##CLASS_NAME^ (CLASS_NAME^ obj) \ + { \ + return obj->ReadOnlyInstance; \ + } \ + \ + private: virtual Collections::IEnumerator^ NonGenericGetEnumerator() sealed = Collections::IEnumerable::GetEnumerator \ + { \ + return gcnew Enumerator(_native); \ + } \ + public: virtual Collections::Generic::IEnumerator<M>^ GetEnumerator() \ + { \ + return gcnew Enumerator(_native); \ + } \ + \ + void Assign(int count, M value); \ + \ + property M Front \ + { \ + M get(); \ + } \ + \ + property M Back \ + { \ + M get(); \ + } \ + \ + Iterator^ Begin() \ + { \ + return _native->begin(); \ + } \ + \ + Iterator^ End() \ + { \ + return _native->end(); \ + } \ + \ + void Clear() \ + { \ + _native->clear(); \ + } \ + \ + property bool IsEmpty \ + { \ + bool get() { return _native->empty(); } \ + } \ + \ + void Add(M value); \ + \ + void RemoveLast() \ + { \ + _native->pop_back(); \ + } \ + \ + /*Resize removed because it requires the native class to have a default constructor*/ \ + /*void Resize(int newSize)*/ \ + /*{ */ \ + /* _native->resize(newSize);*/ \ + /*} */ \ + \ + void Resize(int newSize, M value); \ + \ + property int Count \ + { \ + int get() { return _native->size(); } \ + } \ + \ + \ + property M default[int] \ + { \ + M get(int i); \ + void set (int i, M value); \ + } \ + \ + void Erase(int index) \ + { \ + _native->erase( _native->begin() + index ); \ + } \ + \ + void Erase(int index, int count) \ + { \ + Iter& it = _native->begin() + index; \ + _native->erase( it, it + count ); \ + } \ + \ + void Insert(int index, M value); \ + \ + void Insert(int index, int count, M value); \ + \ + void Insert(int index, array<M>^ values); \ + \ + void TrimExcess() \ + { \ + _native->swap( *_native ); \ + } \ + \ + property int Capacity \ + { \ + int get() { return _native->capacity(); } \ + } \ + \ + void Reserve(int count) \ + { \ + _native->reserve(count); \ + } \ +}; + + +//########################################################################################### +//########################################################################################### + + +#define INC_DECLARE_STLHASHEDVECTOR_CONST( CLASS_NAME, M, N ) \ +ref class Const_##CLASS_NAME : Collections::Generic::IEnumerable<M> \ +{ \ +public: \ + typedef HashedVector<N> Container; \ + typedef Container::const_iterator Iter; \ + \ + ref class Enumerator : Collections::Generic::IEnumerator<M> \ + { \ + const Container* _pCont; \ + Iter* _pIter; \ + \ + internal: \ + Enumerator(const Container* pContainer) : _pCont(pContainer), _pIter(0) \ + { \ + } \ + \ + !Enumerator() \ + { \ + if (_pIter != 0) \ + { \ + delete _pIter; \ + _pIter = 0; \ + } \ + } \ + ~Enumerator() \ + { \ + this->!Enumerator(); \ + } \ + \ + public: \ + virtual bool MoveNext(); \ + \ + property M Current \ + { \ + virtual M get(); \ + } \ + property Object^ NonGenericCurrent \ + { \ + private: \ + virtual Object^ get() sealed = Collections::IEnumerator::Current::get; \ + } \ + \ + virtual void Reset() \ + { \ + this->!Enumerator(); \ + } \ + }; \ + \ + ref class ConstIterator \ + { \ + Iter* _native; \ + \ + internal: \ + ConstIterator( Iter& iter ) \ + { \ + _native = new Iter; \ + (*_native) = iter; \ + } \ + \ + !ConstIterator() \ + { \ + if (_native != 0) \ + { \ + delete _native; \ + _native = 0; \ + } \ + } \ + ~ConstIterator() \ + { \ + this->!ConstIterator(); \ + } \ + \ + inline static operator Iter& (ConstIterator^ it) \ + { \ + return *(it->_native); \ + } \ + \ + inline static operator ConstIterator^ (Iter& it) \ + { \ + return gcnew ConstIterator(it); \ + } \ + \ + public: \ + property M Value \ + { \ + M get(); \ + } \ + \ + virtual bool Equals(Object^ obj) override \ + { \ + ConstIterator^ clr = dynamic_cast<ConstIterator^>(obj); \ + if (clr == CLR_NULL) \ + { \ + return false; \ + } \ + \ + return (this == clr); \ + } \ + \ + inline static bool operator ==(ConstIterator^ it1, ConstIterator^ it2) \ + { \ + if ((Object^)it1 == (Object^)it2) return true; \ + if ((Object^)it1 == nullptr || (Object^)it2 == nullptr) return false; \ + \ + return (*it1->_native) == (*it2->_native); \ + } \ + \ + inline static bool operator !=(ConstIterator^ it1, ConstIterator^ it2) \ + { \ + return !(it1 == it2); \ + } \ + \ + inline static ConstIterator^ operator ++(ConstIterator^ it) \ + { \ + ++(*it->_native); \ + return it; \ + } \ + \ + inline static ConstIterator^ operator --(ConstIterator^ it) \ + { \ + --(*it->_native); \ + return it; \ + } \ + \ + void MoveNext() \ + { \ + ++(*_native); \ + } \ + \ + void MovePrevious() \ + { \ + --(*_native); \ + } \ + }; \ + \ +internal: \ + const Container* _native; \ + CLASS_NAME^ _baseContainer; \ + \ + Const_##CLASS_NAME( const Container& cont ) : \ + _native(&cont) \ + { \ + } \ + \ + Const_##CLASS_NAME( CLASS_NAME^ baseContainer ) : \ + _native(baseContainer->_native), \ + _baseContainer(baseContainer) \ + { \ + } \ + \ + inline static operator const Container& (Const_##CLASS_NAME^ cont) \ + { \ + return *(cont->_native); \ + } \ + \ + inline static operator Const_##CLASS_NAME^ (const Container& cont) \ + { \ + return gcnew Const_##CLASS_NAME(cont); \ + } \ + \ + inline static operator const Container* (Const_##CLASS_NAME^ cont) \ + { \ + return (cont == CLR_NULL) ? 0 : cont->_native; \ + } \ + \ + inline static operator Const_##CLASS_NAME^ (const Container* cont) \ + { \ + return (cont == 0) ? nullptr : gcnew Const_##CLASS_NAME(*cont); \ + } \ + \ + inline static operator Const_##CLASS_NAME^ (CLASS_NAME^ cont) \ + { \ + return (cont == CLR_NULL) ? nullptr : cont->ReadOnlyInstance; \ + } \ + \ +public: \ + \ + private: virtual Collections::IEnumerator^ NonGenericGetEnumerator() sealed = Collections::IEnumerable::GetEnumerator \ + { \ + return gcnew Enumerator(_native); \ + } \ + public: virtual Collections::Generic::IEnumerator<M>^ GetEnumerator() \ + { \ + return gcnew Enumerator(_native); \ + } \ + \ + property M Front \ + { \ + M get(); \ + } \ + \ + property M Back \ + { \ + M get(); \ + } \ + \ + ConstIterator^ Begin() \ + { \ + return _native->begin(); \ + } \ + \ + ConstIterator^ End() \ + { \ + return _native->end(); \ + } \ + \ + property bool IsEmpty \ + { \ + bool get() { return _native->empty(); } \ + } \ + \ + property int Count \ + { \ + int get() { return _native->size(); } \ + } \ + \ + property M default[int] \ + { \ + M get(int i); \ + } \ + \ + property int Capacity \ + { \ + int get() { return _native->capacity(); } \ + } \ +}; + + +//##################################... [truncated message content] |
From: <mog...@li...> - 2010-02-28 19:47:21
|
Revision: 299 http://mogre.svn.sourceforge.net/mogre/?rev=299&view=rev Author: realgantz Date: 2010-02-28 19:47:07 +0000 (Sun, 28 Feb 2010) Log Message: ----------- -> MOGRE 1.7 WIP -> more stl container modification -> add some change to the attribute class to correcto some wrapping error Modified Paths: -------------- trunk/Mogre/AutoWrap/Attributes.xml trunk/Mogre/Mogre/include/STLDeque.h trunk/Mogre/Mogre/include/STLHashedVector.h trunk/Mogre/Mogre/include/STLList.h trunk/Mogre/Mogre/include/STLMap.h trunk/Mogre/Mogre/include/STLMultiMap.h trunk/Mogre/Mogre/include/STLSet.h trunk/Mogre/Mogre/include/STLVector.h Modified: trunk/Mogre/AutoWrap/Attributes.xml =================================================================== --- trunk/Mogre/AutoWrap/Attributes.xml 2010-02-24 21:38:37 UTC (rev 298) +++ trunk/Mogre/AutoWrap/Attributes.xml 2010-02-28 19:47:07 UTC (rev 299) @@ -155,6 +155,9 @@ <class name="DynLibManager" Ignore=""/> <class name="TempBlendedBufferInfo" Ignore=""/> <class name="HardwareBufferLicensee" Ignore=""/> + <class name="HardwareVertexBuffer"> + <variable name="mMgr" Ignore="" /> + </class> <class name="FreeImageCodec" Ignore=""/> <!-- ILImageCodec is not used any more --> <class name="ILImageCodec" Ignore=""/> @@ -191,6 +194,7 @@ <class name="DefaultHardwareVertexBuffer" Ignore=""/> <class name="DefaultHardwareIndexBuffer" Ignore=""/> <class name="DefaultHardwareBufferManager" Ignore=""/> + <class name="HardwareBufferManagerBase" Ignore="" /> <class name="ControllerManager" Ignore=""/> <class name="ControllerValueRealPtr" Ignore=""/> <class name="ControllerFunctionRealPtr" Ignore=""/> @@ -219,6 +223,11 @@ <struct name="AutoConstantDefinition" WrapType="NativePtrValueType"/> <struct name="AutoConstantEntry" WrapType="NativePtrValueType"/> </class> + <class name="GpuSharedParameters" WrapType="CLRHandle"> + </class> + <class name="GpuSharedParametersUsage" WrapType="CLRHandle"> + <struct name="CopyDataEntry" WrapType="NativePtrValueType" /> + </class> <class name="RenderSystem"> <class name="Listener" WrapType="NativeDirector"/> @@ -385,7 +394,9 @@ <class name="RenderOperation" WrapType="CLRHandle"> <enumeration name="OperationType" Rename="OperationTypes"/> </class> - <class name="VertexData" WrapType="CLRHandle"/> + <class name="VertexData" WrapType="CLRHandle"> + <!--<variable name="mMgr" Ignore="" />--> + </class> <class name="TextureUnitState" WrapType="CLRHandle"/> <class name="Technique" WrapType="CLRHandle"> <function name="checkGPURules" Ignore="" /> Modified: trunk/Mogre/Mogre/include/STLDeque.h =================================================================== --- trunk/Mogre/Mogre/include/STLDeque.h 2010-02-24 21:38:37 UTC (rev 298) +++ trunk/Mogre/Mogre/include/STLDeque.h 2010-02-28 19:47:07 UTC (rev 299) @@ -4,7 +4,7 @@ ref class CLASS_NAME : Collections::Generic::IEnumerable<M> \ { \ public: \ - typedef Ogre::deque<N> Container; \ + typedef Ogre::deque<N>::type Container; \ typedef Container::iterator Iter; \ \ ref class Enumerator : Collections::Generic::IEnumerator<M> \ @@ -317,7 +317,7 @@ ref class Const_##CLASS_NAME : Collections::Generic::IEnumerable<M> \ { \ public: \ - typedef Ogre::deque<N> Container; \ + typedef Ogre::deque<N>::type Container; \ typedef Container::const_iterator Iter; \ \ ref class Enumerator : Collections::Generic::IEnumerator<M> \ @@ -545,7 +545,7 @@ ref class CLASS_NAME \ { \ public: \ - typedef Ogre::deque<N> Container; \ + typedef Ogre::deque<N>::type Container; \ \ internal: \ Container* _native; \ Modified: trunk/Mogre/Mogre/include/STLHashedVector.h =================================================================== --- trunk/Mogre/Mogre/include/STLHashedVector.h 2010-02-24 21:38:37 UTC (rev 298) +++ trunk/Mogre/Mogre/include/STLHashedVector.h 2010-02-28 19:47:07 UTC (rev 299) @@ -4,7 +4,7 @@ ref class CLASS_NAME : Collections::Generic::IEnumerable<M> \ { \ public: \ - typedef HashedVector<N> Container; \ + typedef Ogre::HashedVector<N> Container; \ typedef Container::iterator Iter; \ \ ref class Enumerator : Collections::Generic::IEnumerator<M> \ @@ -321,7 +321,7 @@ ref class Const_##CLASS_NAME : Collections::Generic::IEnumerable<M> \ { \ public: \ - typedef HashedVector<N> Container; \ + typedef Ogre::HashedVector<N> Container; \ typedef Container::const_iterator Iter; \ \ ref class Enumerator : Collections::Generic::IEnumerator<M> \ @@ -554,7 +554,7 @@ ref class CLASS_NAME \ { \ public: \ - typedef HashedVector<N> Container; \ + typedef Ogre::HashedVector<N> Container; \ \ internal: \ Container* _native; \ Modified: trunk/Mogre/Mogre/include/STLList.h =================================================================== --- trunk/Mogre/Mogre/include/STLList.h 2010-02-24 21:38:37 UTC (rev 298) +++ trunk/Mogre/Mogre/include/STLList.h 2010-02-28 19:47:07 UTC (rev 299) @@ -24,7 +24,7 @@ ref class CLASS_NAME : Collections::Generic::IEnumerable<M> \ { \ public: \ - typedef Ogre::list<N> Container; \ + typedef Ogre::list<N>::type Container; \ typedef Container::iterator Iter; \ \ ref class Enumerator : Collections::Generic::IEnumerator<M> \ @@ -323,7 +323,7 @@ ref class Const_##CLASS_NAME : Collections::Generic::IEnumerable<M> \ { \ public: \ - typedef Ogre::list<N> Container; \ + typedef Ogre::list<N>::type Container; \ typedef Container::const_iterator Iter; \ \ ref class Enumerator : Collections::Generic::IEnumerator<M> \ @@ -546,7 +546,7 @@ ref class CLASS_NAME \ { \ public: \ - typedef Ogre::list<N> Container; \ + typedef Ogre::list<N>::type Container; \ \ internal: \ Container* _native; \ Modified: trunk/Mogre/Mogre/include/STLMap.h =================================================================== --- trunk/Mogre/Mogre/include/STLMap.h 2010-02-24 21:38:37 UTC (rev 298) +++ trunk/Mogre/Mogre/include/STLMap.h 2010-02-28 19:47:07 UTC (rev 299) @@ -4,7 +4,7 @@ ref class CLASS_NAME : Collections::Generic::IEnumerable<Collections::Generic::KeyValuePair<MK, MV>> \ { \ public: \ - typedef Ogre::map<NK,NV> Container; \ + typedef Ogre::map<NK,NV>::type Container; \ typedef Container::iterator Iter; \ \ ref class Enumerator : Collections::Generic::IEnumerator<Collections::Generic::KeyValuePair<MK,MV>> \ @@ -289,7 +289,7 @@ ref class Const_##CLASS_NAME : Collections::Generic::IEnumerable<Collections::Generic::KeyValuePair<MK, MV>> \ { \ public: \ - typedef Ogre::map<NK,NV> Container; \ + typedef Ogre::map<NK,NV>::type Container; \ typedef Container::const_iterator Iter; \ \ ref class Enumerator : Collections::Generic::IEnumerator<Collections::Generic::KeyValuePair<MK, MV>> \ @@ -519,7 +519,7 @@ ref class CLASS_NAME \ { \ public: \ - typedef Ogre::map<NK,NV> Container; \ + typedef Ogre::map<NK,NV>::type Container; \ \ internal: \ Container* _native; \ Modified: trunk/Mogre/Mogre/include/STLMultiMap.h =================================================================== --- trunk/Mogre/Mogre/include/STLMultiMap.h 2010-02-24 21:38:37 UTC (rev 298) +++ trunk/Mogre/Mogre/include/STLMultiMap.h 2010-02-28 19:47:07 UTC (rev 299) @@ -4,7 +4,7 @@ ref class CLASS_NAME : Collections::Generic::IEnumerable<Collections::Generic::KeyValuePair<MK, MV>> \ { \ public: \ - typedef Ogre::multimap<NK,NV> Container; \ + typedef Ogre::multimap<NK,NV>::type Container; \ typedef Container::iterator Iter; \ \ ref class Enumerator : Collections::Generic::IEnumerator<Collections::Generic::KeyValuePair<MK,MV>> \ @@ -289,7 +289,7 @@ ref class Const_##CLASS_NAME : Collections::Generic::IEnumerable<Collections::Generic::KeyValuePair<MK, MV>> \ { \ public: \ - typedef Ogre::multimap<NK,NV> Container; \ + typedef Ogre::multimap<NK,NV>::type Container; \ typedef Container::const_iterator Iter; \ \ ref class Enumerator : Collections::Generic::IEnumerator<Collections::Generic::KeyValuePair<MK, MV>> \ @@ -520,7 +520,7 @@ ref class CLASS_NAME \ { \ public: \ - typedef Ogre::multimap<NK,NV> Container; \ + typedef Ogre::multimap<NK,NV>::type Container; \ \ internal: \ Container* _native; \ Modified: trunk/Mogre/Mogre/include/STLSet.h =================================================================== --- trunk/Mogre/Mogre/include/STLSet.h 2010-02-24 21:38:37 UTC (rev 298) +++ trunk/Mogre/Mogre/include/STLSet.h 2010-02-28 19:47:07 UTC (rev 299) @@ -4,7 +4,7 @@ ref class CLASS_NAME : Collections::Generic::IEnumerable<M> \ { \ public: \ - typedef Ogre::set<N> Container; \ + typedef Ogre::set<N>::type Container; \ typedef Container::iterator Iter; \ \ ref class Enumerator : Collections::Generic::IEnumerator<M> \ @@ -281,7 +281,7 @@ ref class Const_##CLASS_NAME : Collections::Generic::IEnumerable<M> \ { \ public: \ - typedef Ogre::set<N> Container; \ + typedef Ogre::set<N>::type Container; \ typedef Container::const_iterator Iter; \ \ ref class Enumerator : Collections::Generic::IEnumerator<M> \ @@ -502,7 +502,7 @@ ref class CLASS_NAME \ { \ public: \ - typedef Ogre::set<N> Container; \ + typedef Ogre::set<N>::type Container; \ \ internal: \ Container* _native; \ Modified: trunk/Mogre/Mogre/include/STLVector.h =================================================================== --- trunk/Mogre/Mogre/include/STLVector.h 2010-02-24 21:38:37 UTC (rev 298) +++ trunk/Mogre/Mogre/include/STLVector.h 2010-02-28 19:47:07 UTC (rev 299) @@ -649,7 +649,7 @@ \ void PREFIX##CLASS_NAME::Assign(int count, M value) \ { \ - _native->type->assign(count, ToNative<M,N>( value )); \ + _native->assign(count, ToNative<M,N>( value )); \ } \ \ M PREFIX##CLASS_NAME::Front::get() \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mog...@li...> - 2010-04-13 20:53:40
|
Revision: 312 http://mogre.svn.sourceforge.net/mogre/?rev=312&view=rev Author: realgantz Date: 2010-04-13 20:53:34 +0000 (Tue, 13 Apr 2010) Log Message: ----------- -> add mzanin change to CLRObjects.patch (based on last 1.7 revision on ogre svn) -> update Mogre_vc9.vcproj to reflect file change in 1.7 Modified Paths: -------------- trunk/Mogre/Mogre/Mogre_vc9.vcproj trunk/Mogre/Ogre Patches/CLRObjects.patch Modified: trunk/Mogre/Mogre/Mogre_vc9.vcproj =================================================================== --- trunk/Mogre/Mogre/Mogre_vc9.vcproj 2010-04-13 08:46:32 UTC (rev 311) +++ trunk/Mogre/Mogre/Mogre_vc9.vcproj 2010-04-13 20:53:34 UTC (rev 312) @@ -314,10 +314,6 @@ > </File> <File - RelativePath=".\src\auto\MogreCompositorSerializer.cpp" - > - </File> - <File RelativePath=".\src\auto\MogreConfigFile.cpp" > </File> @@ -338,6 +334,14 @@ > </File> <File + RelativePath=".\src\auto\MogreDefaultHardwareBufferManager.cpp" + > + </File> + <File + RelativePath=".\src\auto\MogreDistanceLodStrategy.cpp" + > + </File> + <File RelativePath=".\src\auto\MogreEdgeListBuilder.cpp" > </File> @@ -386,6 +390,10 @@ > </File> <File + RelativePath=".\src\auto\MogreGpuProgramParams.cpp" + > + </File> + <File RelativePath=".\src\auto\MogreHardwareBuffer.cpp" > </File> @@ -438,6 +446,18 @@ > </File> <File + RelativePath=".\src\auto\MogreLodListener.cpp" + > + </File> + <File + RelativePath=".\src\auto\MogreLodStrategy.cpp" + > + </File> + <File + RelativePath=".\src\auto\MogreLodStrategyManager.cpp" + > + </File> + <File RelativePath=".\src\auto\MogreLog.cpp" > </File> @@ -574,6 +594,10 @@ > </File> <File + RelativePath=".\src\auto\MogrePixelCountLodStrategy.cpp" + > + </File> + <File RelativePath=".\src\auto\MogrePixelFormat.cpp" > </File> @@ -622,6 +646,10 @@ > </File> <File + RelativePath=".\src\auto\MogrePVRTCCodec.cpp" + > + </File> + <File RelativePath=".\src\Custom\MogreQuaternion.cpp" > </File> @@ -634,6 +662,10 @@ > </File> <File + RelativePath=".\src\auto\MogreRenderObjectListener.cpp" + > + </File> + <File RelativePath=".\src\auto\MogreRenderOperation.cpp" > </File> @@ -838,6 +870,10 @@ > </File> <File + RelativePath=".\src\auto\MogreUserObjectBindings.cpp" + > + </File> + <File RelativePath=".\src\Custom\MogreVector3.cpp" > </File> @@ -1028,10 +1064,6 @@ > </File> <File - RelativePath=".\include\auto\MogreCompositorSerializer.h" - > - </File> - <File RelativePath=".\include\auto\MogreConfigFile.h" > </File> @@ -1048,6 +1080,14 @@ > </File> <File + RelativePath=".\include\auto\MogreDefaultHardwareBufferManager.h" + > + </File> + <File + RelativePath=".\include\auto\MogreDistanceLodStrategy.h" + > + </File> + <File RelativePath=".\include\auto\MogreEdgeListBuilder.h" > </File> @@ -1096,6 +1136,10 @@ > </File> <File + RelativePath=".\include\auto\MogreGpuProgramParams.h" + > + </File> + <File RelativePath=".\include\auto\MogreHardwareBuffer.h" > </File> @@ -1152,6 +1196,18 @@ > </File> <File + RelativePath=".\include\auto\MogreLodListener.h" + > + </File> + <File + RelativePath=".\include\auto\MogreLodStrategy.h" + > + </File> + <File + RelativePath=".\include\auto\MogreLodStrategyManager.h" + > + </File> + <File RelativePath=".\include\auto\MogreLog.h" > </File> @@ -1296,11 +1352,11 @@ > </File> <File - RelativePath=".\include\auto\MogrePixelFormat.h" + RelativePath=".\include\auto\MogrePixelCountLodStrategy.h" > </File> <File - RelativePath=".\include\auto\MogrePlane.h" + RelativePath=".\include\auto\MogrePixelFormat.h" > </File> <File @@ -1308,6 +1364,10 @@ > </File> <File + RelativePath=".\include\auto\MogrePlane.h" + > + </File> + <File RelativePath=".\include\auto\MogrePlaneBoundedVolume.h" > </File> @@ -1336,6 +1396,10 @@ > </File> <File + RelativePath=".\include\auto\MogrePVRTCCodec.h" + > + </File> + <File RelativePath=".\include\Custom\MogreQuaternion.h" > </File> @@ -1360,6 +1424,10 @@ > </File> <File + RelativePath=".\include\auto\MogreRenderObjectListener.h" + > + </File> + <File RelativePath=".\include\auto\MogreRenderOperation.h" > </File> @@ -1576,6 +1644,10 @@ > </File> <File + RelativePath=".\include\auto\MogreUserObjectBindings.h" + > + </File> + <File RelativePath=".\include\Custom\MogreVector2.h" > </File> Modified: trunk/Mogre/Ogre Patches/CLRObjects.patch =================================================================== --- trunk/Mogre/Ogre Patches/CLRObjects.patch 2010-04-13 08:46:32 UTC (rev 311) +++ trunk/Mogre/Ogre Patches/CLRObjects.patch 2010-04-13 20:53:34 UTC (rev 312) @@ -1,6 +1,20 @@ +Index: CMakeLists.txt +=================================================================== +--- CMakeLists.txt (revision 9952) ++++ CMakeLists.txt (working copy) +@@ -103,6 +103,9 @@ + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /bigobj") + set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /bigobj") + endif () ++ # Enable multicore builds ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP") ++ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MP") + endif () + if (MINGW) + add_definitions(-D_WIN32_WINNT=0x0500) Index: OgreMain/include/OgreAnimable.h =================================================================== ---- OgreMain/include/OgreAnimable.h (revision 9851) +--- OgreMain/include/OgreAnimable.h (revision 9952) +++ OgreMain/include/OgreAnimable.h (working copy) @@ -68,9 +68,11 @@ are often comprised of multiple properties it helps to be able to deal @@ -17,7 +31,7 @@ { Index: OgreMain/include/OgreAnimation.h =================================================================== ---- OgreMain/include/OgreAnimation.h (revision 9851) +--- OgreMain/include/OgreAnimation.h (revision 9952) +++ OgreMain/include/OgreAnimation.h (working copy) @@ -55,10 +55,12 @@ You should not create these animations directly. They will be created via a parent @@ -35,7 +49,7 @@ { Index: OgreMain/include/OgreAnimationState.h =================================================================== ---- OgreMain/include/OgreAnimationState.h (revision 9851) +--- OgreMain/include/OgreAnimationState.h (revision 9952) +++ OgreMain/include/OgreAnimationState.h (working copy) @@ -49,13 +49,13 @@ Other classes can hold instances of this class to store the state of any animations @@ -64,7 +78,7 @@ /// Create a blank animation state set Index: OgreMain/include/OgreAnimationTrack.h =================================================================== ---- OgreMain/include/OgreAnimationTrack.h (revision 9851) +--- OgreMain/include/OgreAnimationTrack.h (revision 9952) +++ OgreMain/include/OgreAnimationTrack.h (working copy) @@ -48,6 +48,9 @@ */ @@ -117,7 +131,7 @@ { Index: OgreMain/include/OgreArchive.h =================================================================== ---- OgreMain/include/OgreArchive.h (revision 9851) +--- OgreMain/include/OgreArchive.h (revision 9952) +++ OgreMain/include/OgreArchive.h (working copy) @@ -84,8 +84,11 @@ to benefit from OGRE's automatic searching of multiple file locations @@ -143,7 +157,7 @@ Archive( const String& name, const String& archType ) Index: OgreMain/include/OgreBillboard.h =================================================================== ---- OgreMain/include/OgreBillboard.h (revision 9851) +--- OgreMain/include/OgreBillboard.h (revision 9952) +++ OgreMain/include/OgreBillboard.h (working copy) @@ -65,6 +65,9 @@ @@ -157,7 +171,7 @@ protected: Index: OgreMain/include/OgreBillboardChain.h =================================================================== ---- OgreMain/include/OgreBillboardChain.h (revision 9851) +--- OgreMain/include/OgreBillboardChain.h (revision 9952) +++ OgreMain/include/OgreBillboardChain.h (working copy) @@ -77,7 +77,8 @@ { @@ -181,7 +195,7 @@ public: Index: OgreMain/include/OgreBillboardParticleRenderer.h =================================================================== ---- OgreMain/include/OgreBillboardParticleRenderer.h (revision 9851) +--- OgreMain/include/OgreBillboardParticleRenderer.h (revision 9952) +++ OgreMain/include/OgreBillboardParticleRenderer.h (working copy) @@ -50,6 +50,9 @@ */ @@ -195,7 +209,7 @@ BillboardSet* mBillboardSet; Index: OgreMain/include/OgreBillboardSet.h =================================================================== ---- OgreMain/include/OgreBillboardSet.h (revision 9851) +--- OgreMain/include/OgreBillboardSet.h (revision 9952) +++ OgreMain/include/OgreBillboardSet.h (working copy) @@ -108,6 +108,9 @@ */ @@ -219,7 +233,7 @@ public: Index: OgreMain/include/OgreBone.h =================================================================== ---- OgreMain/include/OgreBone.h (revision 9851) +--- OgreMain/include/OgreBone.h (revision 9952) +++ OgreMain/include/OgreBone.h (working copy) @@ -51,6 +51,8 @@ class _OgreExport Bone : public Node @@ -232,7 +246,7 @@ /** Constructor, not to be used directly (use Bone::createChild or Skeleton::createBone) */ Index: OgreMain/include/OgreBorderPanelOverlayElement.h =================================================================== ---- OgreMain/include/OgreBorderPanelOverlayElement.h (revision 9851) +--- OgreMain/include/OgreBorderPanelOverlayElement.h (revision 9952) +++ OgreMain/include/OgreBorderPanelOverlayElement.h (working copy) @@ -56,6 +56,9 @@ */ @@ -258,7 +272,7 @@ public: Index: OgreMain/include/OgreCamera.h =================================================================== ---- OgreMain/include/OgreCamera.h (revision 9851) +--- OgreMain/include/OgreCamera.h (revision 9952) +++ OgreMain/include/OgreCamera.h (working copy) @@ -85,6 +85,8 @@ class _OgreExport Camera : public Frustum @@ -271,7 +285,7 @@ class _OgreExport Listener Index: OgreMain/include/OgreCodec.h =================================================================== ---- OgreMain/include/OgreCodec.h (revision 9851) +--- OgreMain/include/OgreCodec.h (revision 9952) +++ OgreMain/include/OgreCodec.h (working copy) @@ -52,8 +52,10 @@ The codec concept is a pretty generic one - you can easily understand @@ -298,9 +312,42 @@ virtual ~CodecData() {}; /** Returns the type of the data. +Index: OgreMain/include/OgreCommon.h +=================================================================== +--- OgreMain/include/OgreCommon.h (revision 9952) ++++ OgreMain/include/OgreCommon.h (working copy) +@@ -379,7 +379,7 @@ + { + // we have to assume that hash needs recalculating on non-const + dirtyHash(); +- return mList.const_iterator(n); ++ return mList.at(n); + } + const_reference at(size_type n) const { return mList.at(n); } + HashedVector() : mListHash(0), mListHashDirty(false) {} +@@ -490,7 +490,19 @@ + if (recalc) + dirtyHash(); + } ++ ++ void assign(size_type n, const T& u) ++ { ++ mList.assign(n, u); ++ } + ++ template <class InputIterator> ++ void assign(InputIterator first, InputIterator last) ++ { ++ mList.assign(first, last); ++ } ++ ++ + bool operator==(const HashedVector<T>& b) + { return mListHash == b.mListHash; } + Index: OgreMain/include/OgreCompositionPass.h =================================================================== ---- OgreMain/include/OgreCompositionPass.h (revision 9851) +--- OgreMain/include/OgreCompositionPass.h (revision 9952) +++ OgreMain/include/OgreCompositionPass.h (working copy) @@ -46,6 +46,8 @@ class _OgreExport CompositionPass : public CompositorInstAlloc @@ -322,7 +369,7 @@ /// MRT surface index if applicable Index: OgreMain/include/OgreCompositionTargetPass.h =================================================================== ---- OgreMain/include/OgreCompositionTargetPass.h (revision 9851) +--- OgreMain/include/OgreCompositionTargetPass.h (revision 9952) +++ OgreMain/include/OgreCompositionTargetPass.h (working copy) @@ -44,6 +44,8 @@ class _OgreExport CompositionTargetPass : public CompositorInstAlloc @@ -335,7 +382,7 @@ Index: OgreMain/include/OgreCompositionTechnique.h =================================================================== ---- OgreMain/include/OgreCompositionTechnique.h (revision 9851) +--- OgreMain/include/OgreCompositionTechnique.h (revision 9952) +++ OgreMain/include/OgreCompositionTechnique.h (working copy) @@ -41,9 +41,11 @@ */ @@ -352,7 +399,7 @@ Index: OgreMain/include/OgreCompositor.h =================================================================== ---- OgreMain/include/OgreCompositor.h (revision 9851) +--- OgreMain/include/OgreCompositor.h (revision 9952) +++ OgreMain/include/OgreCompositor.h (working copy) @@ -49,6 +49,8 @@ class _OgreExport Compositor: public Resource @@ -365,7 +412,7 @@ ~Compositor(); Index: OgreMain/include/OgreCompositorChain.h =================================================================== ---- OgreMain/include/OgreCompositorChain.h (revision 9851) +--- OgreMain/include/OgreCompositorChain.h (revision 9952) +++ OgreMain/include/OgreCompositorChain.h (working copy) @@ -43,9 +43,11 @@ */ @@ -382,7 +429,7 @@ to delete an object. Index: OgreMain/include/OgreCompositorInstance.h =================================================================== ---- OgreMain/include/OgreCompositorInstance.h (revision 9851) +--- OgreMain/include/OgreCompositorInstance.h (revision 9952) +++ OgreMain/include/OgreCompositorInstance.h (working copy) @@ -46,9 +46,11 @@ /** An instance of a Compositor object for one Viewport. It is part of the CompositorChain @@ -399,7 +446,7 @@ /** Provides an interface to "listen in" to to render system operations executed by this Index: OgreMain/include/OgreConfig.h =================================================================== ---- OgreMain/include/OgreConfig.h (revision 9851) +--- OgreMain/include/OgreConfig.h (revision 9952) +++ OgreMain/include/OgreConfig.h (working copy) @@ -92,18 +92,6 @@ # define OGRE_MEMORY_ALLOCATOR OGRE_MEMORY_ALLOCATOR_NEDPOOLING @@ -420,9 +467,35 @@ // enable or disable the memory tracker, recording the memory allocations & tracking leaks // default is to disable since it's expensive, but you can enable if needed per build target +Index: OgreMain/include/OgreDefaultHardwareBufferManager.h +=================================================================== +--- OgreMain/include/OgreDefaultHardwareBufferManager.h (revision 9952) ++++ OgreMain/include/OgreDefaultHardwareBufferManager.h (working copy) +@@ -101,6 +101,8 @@ + */ + class _OgreExport DefaultHardwareBufferManagerBase : public HardwareBufferManagerBase + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(DefaultHardwareBufferManagerBase); + public: + DefaultHardwareBufferManagerBase(); + ~DefaultHardwareBufferManagerBase(); +Index: OgreMain/include/OgreDistanceLodStrategy.h +=================================================================== +--- OgreMain/include/OgreDistanceLodStrategy.h (revision 9952) ++++ OgreMain/include/OgreDistanceLodStrategy.h (working copy) +@@ -45,6 +45,8 @@ + /** Level of detail strategy based on distance from camera. */ + class _OgreExport DistanceLodStrategy : public LodStrategy, public Singleton<DistanceLodStrategy> + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(DistanceLodStrategy); + protected: + /// @copydoc LodStrategy::getValueImpl + virtual Real getValueImpl(const MovableObject *movableObject, const Camera *camera) const; Index: OgreMain/include/OgreEdgeListBuilder.h =================================================================== ---- OgreMain/include/OgreEdgeListBuilder.h (revision 9851) +--- OgreMain/include/OgreEdgeListBuilder.h (revision 9952) +++ OgreMain/include/OgreEdgeListBuilder.h (working copy) @@ -51,6 +51,8 @@ class _OgreExport EdgeData : public EdgeDataAlloc @@ -435,7 +508,7 @@ /** The set of indexes this triangle came from (NB it is possible that the triangles on Index: OgreMain/include/OgreEntity.h =================================================================== ---- OgreMain/include/OgreEntity.h (revision 9851) +--- OgreMain/include/OgreEntity.h (revision 9952) +++ OgreMain/include/OgreEntity.h (working copy) @@ -80,6 +80,9 @@ */ @@ -459,7 +532,7 @@ public: Index: OgreMain/include/OgreException.h =================================================================== ---- OgreMain/include/OgreException.h (revision 9851) +--- OgreMain/include/OgreException.h (revision 9952) +++ OgreMain/include/OgreException.h (working copy) @@ -151,7 +151,7 @@ @@ -485,7 +558,7 @@ Index: OgreMain/include/OgreExternalTextureSource.h =================================================================== ---- OgreMain/include/OgreExternalTextureSource.h (revision 9851) +--- OgreMain/include/OgreExternalTextureSource.h (revision 9952) +++ OgreMain/include/OgreExternalTextureSource.h (working copy) @@ -70,9 +70,11 @@ before calling create defined texture... or it will fail, though, it @@ -502,7 +575,7 @@ /** Virtual destructor */ Index: OgreMain/include/OgreFileSystem.h =================================================================== ---- OgreMain/include/OgreFileSystem.h (revision 9851) +--- OgreMain/include/OgreFileSystem.h (revision 9952) +++ OgreMain/include/OgreFileSystem.h (working copy) @@ -46,6 +46,9 @@ */ @@ -516,7 +589,7 @@ @param pattern File pattern Index: OgreMain/include/OgreFont.h =================================================================== ---- OgreMain/include/OgreFont.h (revision 9851) +--- OgreMain/include/OgreFont.h (revision 9952) +++ OgreMain/include/OgreFont.h (working copy) @@ -66,6 +66,9 @@ */ @@ -530,7 +603,7 @@ class _OgreExport CmdType : public ParamCommand Index: OgreMain/include/OgreFrustum.h =================================================================== ---- OgreMain/include/OgreFrustum.h (revision 9851) +--- OgreMain/include/OgreFrustum.h (revision 9952) +++ OgreMain/include/OgreFrustum.h (working copy) @@ -83,6 +83,9 @@ */ @@ -544,7 +617,7 @@ ProjectionType mProjType; Index: OgreMain/include/OgreGpuProgram.h =================================================================== ---- OgreMain/include/OgreGpuProgram.h (revision 9851) +--- OgreMain/include/OgreGpuProgram.h (revision 9952) +++ OgreMain/include/OgreGpuProgram.h (working copy) @@ -68,6 +68,9 @@ */ @@ -558,7 +631,7 @@ class _OgreExport CmdType : public ParamCommand Index: OgreMain/include/OgreGpuProgramParams.h =================================================================== ---- OgreMain/include/OgreGpuProgramParams.h (revision 9851) +--- OgreMain/include/OgreGpuProgramParams.h (revision 9952) +++ OgreMain/include/OgreGpuProgramParams.h (working copy) @@ -386,6 +386,9 @@ */ @@ -591,7 +664,7 @@ */ Index: OgreMain/include/OgreHardwareBuffer.h =================================================================== ---- OgreMain/include/OgreHardwareBuffer.h (revision 9851) +--- OgreMain/include/OgreHardwareBuffer.h (revision 9952) +++ OgreMain/include/OgreHardwareBuffer.h (working copy) @@ -70,10 +70,12 @@ You should look for the 'useShadowBuffer' parameter on the creation methods used to create @@ -607,9 +680,36 @@ /// Enums describing buffer usage; not mutually exclusive enum Usage { +Index: OgreMain/include/OgreHardwareBufferManager.h +=================================================================== +--- OgreMain/include/OgreHardwareBufferManager.h (revision 9952) ++++ OgreMain/include/OgreHardwareBufferManager.h (working copy) +@@ -106,8 +106,11 @@ + and passes it to the HardwareBufferManager superclass as a delegate. + This subclass must also delete the implementation instance it creates. + */ +- class _OgreExport HardwareBufferManagerBase : public BufferAlloc ++ class _OgreExport HardwareBufferManagerBase : public BufferAlloc, public CLRObject + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(HardwareBufferManagerBase); ++ private: + friend class HardwareVertexBufferSharedPtr; + friend class HardwareIndexBufferSharedPtr; + protected: +@@ -383,6 +386,9 @@ + /** Singleton wrapper for hardware buffer manager. */ + class _OgreExport HardwareBufferManager : public HardwareBufferManagerBase, public Singleton<HardwareBufferManager> + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(HardwareBufferManager); ++ private: + friend class HardwareVertexBufferSharedPtr; + friend class HardwareIndexBufferSharedPtr; + protected: Index: OgreMain/include/OgreHardwareIndexBuffer.h =================================================================== ---- OgreMain/include/OgreHardwareIndexBuffer.h (revision 9851) +--- OgreMain/include/OgreHardwareIndexBuffer.h (revision 9952) +++ OgreMain/include/OgreHardwareIndexBuffer.h (working copy) @@ -46,6 +46,8 @@ class _OgreExport HardwareIndexBuffer : public HardwareBuffer @@ -622,7 +722,7 @@ IT_32BIT Index: OgreMain/include/OgreHardwareOcclusionQuery.h =================================================================== ---- OgreMain/include/OgreHardwareOcclusionQuery.h (revision 9851) +--- OgreMain/include/OgreHardwareOcclusionQuery.h (revision 9952) +++ OgreMain/include/OgreHardwareOcclusionQuery.h (working copy) @@ -48,12 +48,13 @@ * @author Lee Sandberg @@ -641,7 +741,7 @@ */ Index: OgreMain/include/OgreHardwarePixelBuffer.h =================================================================== ---- OgreMain/include/OgreHardwarePixelBuffer.h (revision 9851) +--- OgreMain/include/OgreHardwarePixelBuffer.h (revision 9952) +++ OgreMain/include/OgreHardwarePixelBuffer.h (working copy) @@ -51,6 +51,9 @@ */ @@ -655,7 +755,7 @@ size_t mWidth, mHeight, mDepth; Index: OgreMain/include/OgreHardwareVertexBuffer.h =================================================================== ---- OgreMain/include/OgreHardwareVertexBuffer.h (revision 9851) +--- OgreMain/include/OgreHardwareVertexBuffer.h (revision 9952) +++ OgreMain/include/OgreHardwareVertexBuffer.h (working copy) @@ -46,6 +46,9 @@ /** Specialisation of HardwareBuffer for a vertex buffer. */ @@ -695,7 +795,7 @@ protected: Index: OgreMain/include/OgreHighLevelGpuProgram.h =================================================================== ---- OgreMain/include/OgreHighLevelGpuProgram.h (revision 9851) +--- OgreMain/include/OgreHighLevelGpuProgram.h (revision 9952) +++ OgreMain/include/OgreHighLevelGpuProgram.h (working copy) @@ -62,6 +62,9 @@ */ @@ -709,7 +809,7 @@ bool mHighLevelLoaded; Index: OgreMain/include/OgreImage.h =================================================================== ---- OgreMain/include/OgreImage.h (revision 9851) +--- OgreMain/include/OgreImage.h (revision 9952) +++ OgreMain/include/OgreImage.h (working copy) @@ -61,6 +61,8 @@ class _OgreExport Image : public ImageAlloc @@ -722,7 +822,7 @@ public: Index: OgreMain/include/OgreImageCodec.h =================================================================== ---- OgreMain/include/OgreImageCodec.h (revision 9851) +--- OgreMain/include/OgreImageCodec.h (revision 9952) +++ OgreMain/include/OgreImageCodec.h (working copy) @@ -47,12 +47,16 @@ class _OgreExport ImageCodec : public Codec @@ -743,7 +843,7 @@ num_mipmaps(0), flags(0), format(PF_UNKNOWN) Index: OgreMain/include/OgreInstancedGeometry.h =================================================================== ---- OgreMain/include/OgreInstancedGeometry.h (revision 9851) +--- OgreMain/include/OgreInstancedGeometry.h (revision 9952) +++ OgreMain/include/OgreInstancedGeometry.h (working copy) @@ -101,9 +101,11 @@ @note @@ -770,7 +870,7 @@ enum TransformSpace Index: OgreMain/include/OgreKeyFrame.h =================================================================== ---- OgreMain/include/OgreKeyFrame.h (revision 9851) +--- OgreMain/include/OgreKeyFrame.h (revision 9952) +++ OgreMain/include/OgreKeyFrame.h (working copy) @@ -52,9 +52,10 @@ animation sequence, with the exact state of the animation being an @@ -822,7 +922,7 @@ ~VertexPoseKeyFrame() {} Index: OgreMain/include/OgreLight.h =================================================================== ---- OgreMain/include/OgreLight.h (revision 9851) +--- OgreMain/include/OgreLight.h (revision 9952) +++ OgreMain/include/OgreLight.h (working copy) @@ -72,6 +72,8 @@ class _OgreExport Light : public MovableObject @@ -843,9 +943,44 @@ protected: MovableObject* createInstanceImpl( const String& name, const NameValuePairList* params); public: +Index: OgreMain/include/OgreLodListener.h +=================================================================== +--- OgreMain/include/OgreLodListener.h (revision 9952) ++++ OgreMain/include/OgreLodListener.h (working copy) +@@ -114,10 +114,12 @@ + also be called. The postqueue method is invoked at an appropriate + time after rendering and scene changes may be safely made there. + */ +- class _OgreExport LodListener ++ class _OgreExport LodListener : public CLRObject + { + public: +- ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(LodListener); ++ ++ public: + virtual ~LodListener() {} + + /** +Index: OgreMain/include/OgreLodStrategy.h +=================================================================== +--- OgreMain/include/OgreLodStrategy.h (revision 9952) ++++ OgreMain/include/OgreLodStrategy.h (working copy) +@@ -50,8 +50,10 @@ + getIndex, sort, and isSorted. + In addition, transformUserValue may be overridden. + */ +- class _OgreExport LodStrategy : public LodAlloc ++ class _OgreExport LodStrategy : public LodAlloc, public CLRObject + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(LodStrategy); + protected: + /** Name of this strategy. */ + String mName; Index: OgreMain/include/OgreLog.h =================================================================== ---- OgreMain/include/OgreLog.h (revision 9851) +--- OgreMain/include/OgreLog.h (revision 9952) +++ OgreMain/include/OgreLog.h (working copy) @@ -91,6 +91,9 @@ */ @@ -869,7 +1004,7 @@ LogMessageLevel mLevel; Index: OgreMain/include/OgreManualObject.h =================================================================== ---- OgreMain/include/OgreManualObject.h (revision 9851) +--- OgreMain/include/OgreManualObject.h (revision 9952) +++ OgreMain/include/OgreManualObject.h (working copy) @@ -106,6 +106,8 @@ class _OgreExport ManualObject : public MovableObject @@ -915,7 +1050,7 @@ public: Index: OgreMain/include/OgreMaterial.h =================================================================== ---- OgreMain/include/OgreMaterial.h (revision 9851) +--- OgreMain/include/OgreMaterial.h (revision 9952) +++ OgreMain/include/OgreMaterial.h (working copy) @@ -87,6 +87,9 @@ */ @@ -929,7 +1064,7 @@ Index: OgreMain/include/OgreMesh.h =================================================================== ---- OgreMain/include/OgreMesh.h (revision 9851) +--- OgreMain/include/OgreMesh.h (revision 9952) +++ OgreMain/include/OgreMesh.h (working copy) @@ -90,6 +90,9 @@ @@ -943,7 +1078,7 @@ friend class MeshSerializerImpl_v1_4; Index: OgreMain/include/OgreMeshSerializer.h =================================================================== ---- OgreMain/include/OgreMeshSerializer.h (revision 9851) +--- OgreMain/include/OgreMeshSerializer.h (revision 9952) +++ OgreMain/include/OgreMeshSerializer.h (working copy) @@ -69,6 +69,8 @@ class _OgreExport MeshSerializer : public Serializer @@ -956,7 +1091,7 @@ Index: OgreMain/include/OgreMovableObject.h =================================================================== ---- OgreMain/include/OgreMovableObject.h (revision 9851) +--- OgreMain/include/OgreMovableObject.h (revision 9952) +++ OgreMain/include/OgreMovableObject.h (working copy) @@ -59,6 +59,8 @@ class _OgreExport MovableObject : public ShadowCaster, public AnimableObject, public MovableAlloc @@ -982,7 +1117,7 @@ unsigned long mTypeFlag; Index: OgreMain/include/OgreMovablePlane.h =================================================================== ---- OgreMain/include/OgreMovablePlane.h (revision 9851) +--- OgreMain/include/OgreMovablePlane.h (revision 9952) +++ OgreMain/include/OgreMovablePlane.h (working copy) @@ -52,6 +52,9 @@ */ @@ -996,7 +1131,7 @@ mutable Vector3 mLastTranslate; Index: OgreMain/include/OgreNode.h =================================================================== ---- OgreMain/include/OgreNode.h (revision 9851) +--- OgreMain/include/OgreNode.h (revision 9952) +++ OgreMain/include/OgreNode.h (working copy) @@ -59,9 +59,11 @@ This is an abstract class - concrete classes are based on this for specific purposes, @@ -1013,7 +1148,7 @@ enum TransformSpace Index: OgreMain/include/OgreOverlay.h =================================================================== ---- OgreMain/include/OgreOverlay.h (revision 9851) +--- OgreMain/include/OgreOverlay.h (revision 9952) +++ OgreMain/include/OgreOverlay.h (working copy) @@ -67,10 +67,12 @@ don't want the overlay displayed in the smaller viewports. You turn this off for @@ -1031,7 +1166,7 @@ String mName; Index: OgreMain/include/OgreOverlayContainer.h =================================================================== ---- OgreMain/include/OgreOverlayContainer.h (revision 9851) +--- OgreMain/include/OgreOverlayContainer.h (revision 9952) +++ OgreMain/include/OgreOverlayContainer.h (working copy) @@ -56,6 +56,8 @@ class _OgreExport OverlayContainer : public OverlayElement @@ -1044,7 +1179,7 @@ typedef map<String, OverlayContainer*>::type ChildContainerMap; Index: OgreMain/include/OgreOverlayElement.h =================================================================== ---- OgreMain/include/OgreOverlayElement.h (revision 9851) +--- OgreMain/include/OgreOverlayElement.h (revision 9952) +++ OgreMain/include/OgreOverlayElement.h (working copy) @@ -106,9 +106,10 @@ Because this class is designed to be extensible, it subclasses from StringInterface @@ -1060,7 +1195,7 @@ // Command object for setting / getting parameters Index: OgreMain/include/OgreOverlayElementFactory.h =================================================================== ---- OgreMain/include/OgreOverlayElementFactory.h (revision 9851) +--- OgreMain/include/OgreOverlayElementFactory.h (revision 9952) +++ OgreMain/include/OgreOverlayElementFactory.h (working copy) @@ -54,9 +54,11 @@ Each OverlayElementFactory creates a single type of OverlayElement, @@ -1104,7 +1239,7 @@ { Index: OgreMain/include/OgrePanelOverlayElement.h =================================================================== ---- OgreMain/include/OgrePanelOverlayElement.h (revision 9851) +--- OgreMain/include/OgrePanelOverlayElement.h (revision 9952) +++ OgreMain/include/OgrePanelOverlayElement.h (working copy) @@ -58,6 +58,8 @@ class _OgreExport PanelOverlayElement : public OverlayContainer @@ -1117,7 +1252,7 @@ virtual ~PanelOverlayElement(); Index: OgreMain/include/OgreParticle.h =================================================================== ---- OgreMain/include/OgreParticle.h (revision 9851) +--- OgreMain/include/OgreParticle.h (revision 9952) +++ OgreMain/include/OgreParticle.h (working copy) @@ -59,6 +59,9 @@ /** Class representing a single particle instance. */ @@ -1131,7 +1266,7 @@ ParticleSystem* mParentSystem; Index: OgreMain/include/OgreParticleAffector.h =================================================================== ---- OgreMain/include/OgreParticleAffector.h (revision 9851) +--- OgreMain/include/OgreParticleAffector.h (revision 9952) +++ OgreMain/include/OgreParticleAffector.h (working copy) @@ -60,8 +60,11 @@ with literally infinite combinations of affector and affector types, and parameters within those @@ -1148,7 +1283,7 @@ String mType; Index: OgreMain/include/OgreParticleAffectorFactory.h =================================================================== ---- OgreMain/include/OgreParticleAffectorFactory.h (revision 9851) +--- OgreMain/include/OgreParticleAffectorFactory.h (revision 9952) +++ OgreMain/include/OgreParticleAffectorFactory.h (working copy) @@ -51,8 +51,11 @@ a name which identifies them, examples might be 'force_vector', 'attractor', or 'fader', and these can be @@ -1165,7 +1300,7 @@ public: Index: OgreMain/include/OgreParticleEmitter.h =================================================================== ---- OgreMain/include/OgreParticleEmitter.h (revision 9851) +--- OgreMain/include/OgreParticleEmitter.h (revision 9952) +++ OgreMain/include/OgreParticleEmitter.h (working copy) @@ -68,8 +68,11 @@ with literally infinite combinations of emitter and affector types, and paramters within those @@ -1182,7 +1317,7 @@ // Command object for setting / getting parameters Index: OgreMain/include/OgreParticleEmitterFactory.h =================================================================== ---- OgreMain/include/OgreParticleEmitterFactory.h (revision 9851) +--- OgreMain/include/OgreParticleEmitterFactory.h (revision 9952) +++ OgreMain/include/OgreParticleEmitterFactory.h (working copy) @@ -52,8 +52,11 @@ a name which identifies them, examples might be 'point', 'cone', or 'box', and these can be @@ -1199,7 +1334,7 @@ public: Index: OgreMain/include/OgreParticleSystem.h =================================================================== ---- OgreMain/include/OgreParticleSystem.h (revision 9851) +--- OgreMain/include/OgreParticleSystem.h (revision 9952) +++ OgreMain/include/OgreParticleSystem.h (working copy) @@ -66,7 +66,8 @@ class _OgreExport ParticleSystem : public StringInterface, public MovableObject @@ -1213,7 +1348,7 @@ { Index: OgreMain/include/OgreParticleSystemManager.h =================================================================== ---- OgreMain/include/OgreParticleSystemManager.h (revision 9851) +--- OgreMain/include/OgreParticleSystemManager.h (revision 9952) +++ OgreMain/include/OgreParticleSystemManager.h (working copy) @@ -385,6 +385,9 @@ /** Factory object for creating ParticleSystem instances */ @@ -1227,7 +1362,7 @@ public: Index: OgreMain/include/OgreParticleSystemRenderer.h =================================================================== ---- OgreMain/include/OgreParticleSystemRenderer.h (revision 9851) +--- OgreMain/include/OgreParticleSystemRenderer.h (revision 9952) +++ OgreMain/include/OgreParticleSystemRenderer.h (working copy) @@ -46,9 +46,11 @@ /** Abstract class defining the interface required to be implemented @@ -1244,7 +1379,7 @@ /// Destructor Index: OgreMain/include/OgrePass.h =================================================================== ---- OgreMain/include/OgrePass.h (revision 9851) +--- OgreMain/include/OgrePass.h (revision 9952) +++ OgreMain/include/OgrePass.h (working copy) @@ -80,6 +80,8 @@ class _OgreExport Pass : public PassAlloc @@ -1257,7 +1392,7 @@ The hashcode of a Pass is used to sort Passes for rendering, in order Index: OgreMain/include/OgrePatchMesh.h =================================================================== ---- OgreMain/include/OgrePatchMesh.h (revision 9851) +--- OgreMain/include/OgrePatchMesh.h (revision 9952) +++ OgreMain/include/OgrePatchMesh.h (working copy) @@ -46,6 +46,9 @@ */ @@ -1271,7 +1406,7 @@ PatchSurface mSurface; Index: OgreMain/include/OgrePatchSurface.h =================================================================== ---- OgreMain/include/OgrePatchSurface.h (revision 9851) +--- OgreMain/include/OgrePatchSurface.h (revision 9952) +++ OgreMain/include/OgrePatchSurface.h (working copy) @@ -52,6 +52,8 @@ class _OgreExport PatchSurface : public PatchAlloc @@ -1282,9 +1417,22 @@ PatchSurface(); ~PatchSurface(); +Index: OgreMain/include/OgrePixelCountLodStrategy.h +=================================================================== +--- OgreMain/include/OgrePixelCountLodStrategy.h (revision 9952) ++++ OgreMain/include/OgrePixelCountLodStrategy.h (working copy) +@@ -45,6 +45,8 @@ + /** Level of detail strategy based on pixel count approximation from bounding sphere projection. */ + class _OgreExport PixelCountLodStrategy : public LodStrategy, public Singleton<PixelCountLodStrategy> + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(PixelCountLodStrategy); + protected: + /// @copydoc LodStrategy::getValueImpl + virtual Real getValueImpl(const MovableObject *movableObject, const Camera *camera) const; Index: OgreMain/include/OgrePlaneBoundedVolume.h =================================================================== ---- OgreMain/include/OgrePlaneBoundedVolume.h (revision 9851) +--- OgreMain/include/OgrePlaneBoundedVolume.h (revision 9952) +++ OgreMain/include/OgrePlaneBoundedVolume.h (working copy) @@ -48,6 +48,8 @@ class _OgreExport PlaneBoundedVolume @@ -1297,7 +1445,7 @@ PlaneList planes; Index: OgreMain/include/OgrePose.h =================================================================== ---- OgreMain/include/OgrePose.h (revision 9851) +--- OgreMain/include/OgrePose.h (revision 9952) +++ OgreMain/include/OgrePose.h (working copy) @@ -51,9 +51,11 @@ Pose instances can be referred to by keyframes in VertexAnimationTrack in @@ -1314,7 +1462,7 @@ dedicated at the submesh index + 1) Index: OgreMain/include/OgrePrerequisites.h =================================================================== ---- OgreMain/include/OgrePrerequisites.h (revision 9851) +--- OgreMain/include/OgrePrerequisites.h (revision 9952) +++ OgreMain/include/OgrePrerequisites.h (working copy) @@ -315,7 +315,10 @@ #include "OgreStdHeaders.h" @@ -1327,9 +1475,21 @@ namespace Ogre { #if OGRE_STRING_USE_CUSTOM_MEMORY_ALLOCATOR +@@ -437,9 +440,9 @@ + #endif + + #if OGRE_WCHAR_T_STRINGS +- typedef std::basic_stringstream<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > _StringStreamBase; ++ typedef std::wstringstream _StringStreamBase; + #else +- typedef std::basic_stringstream<char,std::char_traits<char>,std::allocator<char> > _StringStreamBase; ++ typedef std::stringstream _StringStreamBase; + #endif + + #endif Index: OgreMain/include/OgreProgressiveMesh.h =================================================================== ---- OgreMain/include/OgreProgressiveMesh.h (revision 9851) +--- OgreMain/include/OgreProgressiveMesh.h (revision 9952) +++ OgreMain/include/OgreProgressiveMesh.h (working copy) @@ -61,10 +61,11 @@ NB the interface of this class will certainly change when compiled vertex buffers are @@ -1347,7 +1507,7 @@ { Index: OgreMain/include/OgreRectangle2D.h =================================================================== ---- OgreMain/include/OgreRectangle2D.h (revision 9851) +--- OgreMain/include/OgreRectangle2D.h (revision 9952) +++ OgreMain/include/OgreRectangle2D.h (working copy) @@ -48,6 +48,9 @@ */ @@ -1359,9 +1519,26 @@ protected: /** Override this method to prevent parent transforms (rotation,translation,scale) */ +Index: OgreMain/include/OgreRenderObjectListener.h +=================================================================== +--- OgreMain/include/OgreRenderObjectListener.h (revision 9952) ++++ OgreMain/include/OgreRenderObjectListener.h (working copy) +@@ -40,9 +40,11 @@ + /** Abstract interface which classes must implement if they wish to receive + events from the scene manager when single object is about to be rendered. + */ +- class _OgreExport RenderObjectListener ++ class _OgreExport RenderObjectListener : public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(RenderObjectListener); ++ public: + virtual ~RenderObjectListener() {} + /** Event raised when render single object started. + @remarks Index: OgreMain/include/OgreRenderOperation.h =================================================================== ---- OgreMain/include/OgreRenderOperation.h (revision 9851) +--- OgreMain/include/OgreRenderOperation.h (revision 9952) +++ OgreMain/include/OgreRenderOperation.h (working copy) @@ -43,6 +43,8 @@ /** 'New' rendering operation using vertex buffers. */ @@ -1374,7 +1551,7 @@ /// A list of points, 1 vertex per point Index: OgreMain/include/OgreRenderQueue.h =================================================================== ---- OgreMain/include/OgreRenderQueue.h (revision 9851) +--- OgreMain/include/OgreRenderQueue.h (revision 9952) +++ OgreMain/include/OgreRenderQueue.h (working copy) @@ -89,9 +89,11 @@ backgrounds and overlays, and also could be used in the future for more @@ -1391,7 +1568,7 @@ typedef MapIterator<RenderQueueGroupMap> QueueGroupIterator; Index: OgreMain/include/OgreRenderQueueInvocation.h =================================================================== ---- OgreMain/include/OgreRenderQueueInvocation.h (revision 9851) +--- OgreMain/include/OgreRenderQueueInvocation.h (revision 9952) +++ OgreMain/include/OgreRenderQueueInvocation.h (working copy) @@ -63,8 +63,11 @@ them being rendered - for example special-case render queues and @@ -1421,7 +1598,7 @@ RenderQueueInvocationList mInvocations; Index: OgreMain/include/OgreRenderQueueSortingGrouping.h =================================================================== ---- OgreMain/include/OgreRenderQueueSortingGrouping.h (revision 9851) +--- OgreMain/include/OgreRenderQueueSortingGrouping.h (revision 9952) +++ OgreMain/include/OgreRenderQueueSortingGrouping.h (working copy) @@ -322,6 +322,9 @@ */ @@ -1444,7 +1621,7 @@ typedef ConstMapIterator<PriorityMap> ConstPriorityMapIterator; Index: OgreMain/include/OgreRenderSystem.h =================================================================== ---- OgreMain/include/OgreRenderSystem.h (revision 9851) +--- OgreMain/include/OgreRenderSystem.h (revision 9952) +++ OgreMain/include/OgreRenderSystem.h (working copy) @@ -118,9 +118,11 @@ @version @@ -1461,7 +1638,7 @@ RenderSystem(); Index: OgreMain/include/OgreRenderSystemCapabilities.h =================================================================== ---- OgreMain/include/OgreRenderSystemCapabilities.h (revision 9851) +--- OgreMain/include/OgreRenderSystemCapabilities.h (revision 9952) +++ OgreMain/include/OgreRenderSystemCapabilities.h (working copy) @@ -235,7 +235,8 @@ { @@ -1475,7 +1652,7 @@ /// This is used to build a database of RSC's Index: OgreMain/include/OgreRenderTarget.h =================================================================== ---- OgreMain/include/OgreRenderTarget.h (revision 9851) +--- OgreMain/include/OgreRenderTarget.h (revision 9952) +++ OgreMain/include/OgreRenderTarget.h (working copy) @@ -61,9 +61,11 @@ @version @@ -1492,7 +1669,7 @@ SF_NONE = 0, Index: OgreMain/include/OgreRenderTexture.h =================================================================== ---- OgreMain/include/OgreRenderTexture.h (revision 9851) +--- OgreMain/include/OgreRenderTexture.h (revision 9952) +++ OgreMain/include/OgreRenderTexture.h (working copy) @@ -48,6 +48,8 @@ class _OgreExport RenderTexture: public RenderTarget @@ -1514,7 +1691,7 @@ /** Bind a surface to a certain attachment point. Index: OgreMain/include/OgreRenderToVertexBuffer.h =================================================================== ---- OgreMain/include/OgreRenderToVertexBuffer.h (revision 9851) +--- OgreMain/include/OgreRenderToVertexBuffer.h (revision 9952) +++ OgreMain/include/OgreRenderToVertexBuffer.h (working copy) @@ -48,9 +48,11 @@ that run on previous results of those shaders, creating stateful @@ -1531,7 +1708,7 @@ /** D'tor */ Index: OgreMain/include/OgreRenderWindow.h =================================================================== ---- OgreMain/include/OgreRenderWindow.h (revision 9851) +--- OgreMain/include/OgreRenderWindow.h (revision 9952) +++ OgreMain/include/OgreRenderWindow.h (working copy) @@ -63,6 +63,8 @@ { @@ -1544,7 +1721,7 @@ RenderWindow(); Index: OgreMain/include/OgreResource.h =================================================================== ---- OgreMain/include/OgreResource.h (revision 9851) +--- OgreMain/include/OgreResource.h (revision 9952) +++ OgreMain/include/OgreResource.h (working copy) @@ -74,9 +74,11 @@ through a generic interface.</li> @@ -1561,7 +1738,7 @@ { Index: OgreMain/include/OgreResourceBackgroundQueue.h =================================================================== ---- OgreMain/include/OgreResourceBackgroundQueue.h (revision 9851) +--- OgreMain/include/OgreResourceBackgroundQueue.h (revision 9952) +++ OgreMain/include/OgreResourceBackgroundQueue.h (working copy) @@ -49,6 +49,8 @@ /** Encapsulates the result of a background queue request */ @@ -1574,7 +1751,7 @@ /// Any messages from the process Index: OgreMain/include/OgreRibbonTrail.h =================================================================== ---- OgreMain/include/OgreRibbonTrail.h (revision 9851) +--- OgreMain/include/OgreRibbonTrail.h (revision 9952) +++ OgreMain/include/OgreRibbonTrail.h (working copy) @@ -70,6 +70,8 @@ class _OgreExport RibbonTrail : public BillboardChain, public Node::Listener @@ -1597,7 +1774,7 @@ public: Index: OgreMain/include/OgreRotationalSpline.h =================================================================== ---- OgreMain/include/OgreRotationalSpline.h (revision 9851) +--- OgreMain/include/OgreRotationalSpline.h (revision 9952) +++ OgreMain/include/OgreRotationalSpline.h (working copy) @@ -57,6 +57,8 @@ class _OgreExport RotationalSpline @@ -1610,7 +1787,7 @@ Index: OgreMain/include/OgreSceneManager.h =================================================================== ---- OgreMain/include/OgreSceneManager.h (revision 9851) +--- OgreMain/include/OgreSceneManager.h (revision 9952) +++ OgreMain/include/OgreSceneManager.h (working copy) @@ -136,9 +136,11 @@ dependent on the Camera, which will always call back the SceneManager @@ -1640,7 +1817,7 @@ mutable bool mMetaDataInit; Index: OgreMain/include/OgreSceneManagerEnumerator.h =================================================================== ---- OgreMain/include/OgreSceneManagerEnumerator.h (revision 9851) +--- OgreMain/include/OgreSceneManagerEnumerator.h (revision 9952) +++ OgreMain/include/OgreSceneManagerEnumerator.h (working copy) @@ -45,6 +45,9 @@ /// Factory for default scene manager @@ -1654,7 +1831,7 @@ public: Index: OgreMain/include/OgreSceneNode.h =================================================================== ---- OgreMain/include/OgreSceneNode.h (revision 9851) +--- OgreMain/include/OgreSceneNode.h (revision 9952) +++ OgreMain/include/OgreSceneNode.h (working copy) @@ -57,6 +57,8 @@ class _OgreExport SceneNode : public Node @@ -1667,7 +1844,7 @@ typedef ConstMapIterator<ObjectMap> ConstObjectIterator; Index: OgreMain/include/OgreSceneQuery.h =================================================================== ---- OgreMain/include/OgreSceneQuery.h (revision 9851) +--- OgreMain/include/OgreSceneQuery.h (revision 9952) +++ OgreMain/include/OgreSceneQuery.h (working copy) @@ -70,9 +70,11 @@ using the SceneManager interfaces for the type of query required, e.g. @@ -1744,7 +1921,7 @@ public: Index: OgreMain/include/OgreSerializer.h =================================================================== ---- OgreMain/include/OgreSerializer.h (revision 9851) +--- OgreMain/include/OgreSerializer.h (revision 9952) +++ OgreMain/include/OgreSerializer.h (working copy) @@ -46,9 +46,11 @@ This class provides a number of useful methods for exporting / importing data @@ -1761,7 +1938,7 @@ Index: OgreMain/include/OgreShadowCameraSetup.h =================================================================== ---- OgreMain/include/OgreShadowCameraSetup.h (revision 9851) +--- OgreMain/include/OgreShadowCameraSetup.h (revision 9952) +++ OgreMain/include/OgreShadowCameraSetup.h (working copy) @@ -65,9 +65,11 @@ degrees of freedom. This class is meant to allow custom methods for @@ -1787,7 +1964,7 @@ /// Destructor Index: OgreMain/include/OgreShadowCameraSetupFocused.h =================================================================== ---- OgreMain/include/OgreShadowCameraSetupFocused.h (revision 9851) +--- OgreMain/include/OgreShadowCameraSetupFocused.h (revision 9952) +++ OgreMain/include/OgreShadowCameraSetupFocused.h (working copy) @@ -56,6 +56,9 @@ */ @@ -1801,7 +1978,7 @@ @remarks Index: OgreMain/include/OgreShadowCameraSetupLiSPSM.h =================================================================== ---- OgreMain/include/OgreShadowCameraSetupLiSPSM.h (revision 9851) +--- OgreMain/include/OgreShadowCameraSetupLiSPSM.h (revision 9952) +++ OgreMain/include/OgreShadowCameraSetupLiSPSM.h (working copy) @@ -97,6 +97,9 @@ */ @@ -1815,7 +1992,7 @@ Real mOptAdjustFactor; Index: OgreMain/include/OgreShadowCameraSetupPlaneOptimal.h =================================================================== ---- OgreMain/include/OgreShadowCameraSetupPlaneOptimal.h (revision 9851) +--- OgreMain/include/OgreShadowCameraSetupPlaneOptimal.h (revision 9952) +++ OgreMain/include/OgreShadowCameraSetupPlaneOptimal.h (working copy) @@ -60,6 +60,9 @@ */ @@ -1829,7 +2006,7 @@ private: Index: OgreMain/include/OgreShadowCaster.h =================================================================== ---- OgreMain/include/OgreShadowCaster.h (revision 9851) +--- OgreMain/include/OgreShadowCaster.h (revision 9952) +++ OgreMain/include/OgreShadowCaster.h (working copy) @@ -49,8 +49,11 @@ vertex buffers (not necessarily one buffer, but the positions for the entire geometry @@ -1859,7 +2036,7 @@ virtual bool getCastShadows(void) const = 0; Index: OgreMain/include/OgreSimpleRenderable.h =================================================================== ---- OgreMain/include/OgreSimpleRenderable.h (revision 9851) +--- OgreMain/include/OgreSimpleRenderable.h (revision 9952) +++ OgreMain/include/OgreSimpleRenderable.h (working copy) @@ -48,6 +48,9 @@ */ @@ -1873,7 +2050,7 @@ Index: OgreMain/include/OgreSimpleSpline.h =================================================================== ---- OgreMain/include/OgreSimpleSpline.h (revision 9851) +--- OgreMain/include/OgreSimpleSpline.h (revision 9952) +++ OgreMain/include/OgreSimpleSpline.h (working copy) @@ -56,6 +56,8 @@ class _OgreExport SimpleSpline @@ -1886,7 +2063,7 @@ Index: OgreMain/include/OgreSkeleton.h =================================================================== ---- OgreMain/include/OgreSkeleton.h (revision 9851) +--- OgreMain/include/OgreSkeleton.h (revision 9952) +++ OgreMain/include/OgreSkeleton.h (working copy) @@ -84,6 +84,9 @@ */ @@ -1900,7 +2077,7 @@ /// Internal constructor for use by SkeletonInstance only Index: OgreMain/include/OgreSkeletonInstance.h =================================================================== ---- OgreMain/include/OgreSkeletonInstance.h (revision 9851) +--- OgreMain/include/OgreSkeletonInstance.h (revision 9952) +++ OgreMain/include/OgreSkeletonInstance.h (working copy) @@ -52,6 +52,8 @@ class _OgreExport SkeletonInstance : public Skeleton @@ -1913,7 +2090,7 @@ */ Index: OgreMain/include/OgreSkeletonSerializer.h =================================================================== ---- OgreMain/include/OgreSkeletonSerializer.h (revision 9851) +--- OgreMain/include/OgreSkeletonSerializer.h (revision 9952) +++ OgreMain/include/OgreSkeletonSerializer.h (working copy) @@ -56,6 +56,8 @@ class _OgreExport SkeletonSerializer : public Serializer @@ -1926,7 +2103,7 @@ Index: OgreMain/include/OgreStaticGeometry.h =================================================================== ---- OgreMain/include/OgreStaticGeometry.h (revision 9851) +--- OgreMain/include/OgreStaticGeometry.h (revision 9952) +++ OgreMain/include/OgreStaticGeometry.h (working copy) @@ -117,9 +117,11 @@ Warning: this class only works with indexed triangle lists at the moment, @@ -1974,7 +2151,7 @@ protected: Index: OgreMain/include/OgreSubEntity.h =================================================================== ---- OgreMain/include/OgreSubEntity.h (revision 9851) +--- OgreMain/include/OgreSubEntity.h (revision 9952) +++ OgreMain/include/OgreSubEntity.h (working copy) @@ -59,8 +59,11 @@ the same time as their parent Entity by the SceneManager method @@ -1991,7 +2168,7 @@ friend class SceneManager; Index: OgreMain/include/OgreSubMesh.h =================================================================== ---- OgreMain/include/OgreSubMesh.h (revision 9851) +--- OgreMain/include/OgreSubMesh.h (revision 9952) +++ OgreMain/include/OgreSubMesh.h (working copy) @@ -61,6 +61,9 @@ */ @@ -2003,9 +2180,19 @@ friend class Mesh; friend class MeshSerializerImpl; friend class MeshSerializerImpl_v1_2; +@@ -131,7 +134,8 @@ + If this array is empty, submesh sorting is done like in older versions - + by comparing the positions of the owning entity. + */ +- vector<Vector3>::type extremityPoints; ++ typedef vector<Vector3>::type PointList; ++ PointList extremityPoints; + + /// Reference to parent Mesh (not a smart pointer so child does not keep parent alive). + Mesh* parent; Index: OgreMain/include/OgreTagPoint.h =================================================================== ---- OgreMain/include/OgreTagPoint.h (revision 9851) +--- OgreMain/include/OgreTagPoint.h (revision 9952) +++ OgreMain/include/OgreTagPoint.h (working copy) @@ -61,6 +61,8 @@ { @@ -2018,7 +2205,7 @@ Index: OgreMain/include/OgreTechnique.h =================================================================== ---- OgreMain/include/OgreTechnique.h (revision 9851) +--- OgreMain/include/OgreTechnique.h (revision 9952) +++ OgreMain/include/OgreTechnique.h (working copy) @@ -52,6 +52,9 @@ */ @@ -2050,7 +2237,7 @@ bool caseSensitive; Index: OgreMain/include/OgreTextAreaOverlayElement.h =================================================================== ---- OgreMain/include/OgreTextAreaOverlayElement.h (revision 9851) +--- OgreMain/include/OgreTextAreaOverlayElement.h (revision 9952) +++ OgreMain/include/OgreTextAreaOverlayElement.h (working copy) @@ -43,6 +43,8 @@ class _OgreExport TextAreaOverlayElement : public OverlayElement @@ -2063,7 +2250,7 @@ Left, Index: OgreMain/include/OgreTexture.h =================================================================== ---- OgreMain/include/OgreTexture.h (revision 9851) +--- OgreMain/include/OgreTexture.h (revision 9952) +++ OgreMain/include/OgreTexture.h (working copy) @@ -101,6 +101,8 @@ class _OgreExport Texture : public Resource @@ -2076,7 +2263,7 @@ Index: OgreMain/include/OgreTextureUnitState.h =================================================================== ---- OgreMain/include/OgreTextureUnitState.h (revision 9851) +--- OgreMain/include/OgreTextureUnitState.h (revision 9952) +++ OgreMain/include/OgreTextureUnitState.h (working copy) @@ -62,6 +62,9 @@ { @@ -2102,7 +2289,7 @@ //----------------------------------------------------------------------------- Index: OgreMain/include/OgreUnifiedHighLevelGpuProgram.h =================================================================== ---- OgreMain/include/OgreUnifiedHighLevelGpuProgram.h (revision 9851) +--- OgreMain/include/OgreUnifiedHighLevelGpuProgram.h (revision 9952) +++ OgreMain/include/OgreUnifiedHighLevelGpuProgram.h (working copy) @@ -60,6 +60,8 @@ class _OgreExport UnifiedHighLevelGpuProgram : public HighLevelGpuProgram @@ -2113,9 +2300,26 @@ /// Command object for setting delegate (can set more than once) class CmdDelegate : public ParamCommand { +Index: OgreMain/include/OgreUserObjectBindings.h +=================================================================== +--- OgreMain/include/OgreUserObjectBindings.h (revision 9952) ++++ OgreMain/include/OgreUserObjectBindings.h (working copy) +@@ -45,9 +45,11 @@ + Any instance of Ogre class that will derive from this class could be associated with custom + application object using this class interface. + */ +- class _OgreExport UserObjectBindings : public GeneralAllocatedObject ++ class _OgreExport UserObjectBindings : public GeneralAllocatedObject, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(UserObjectBindings); ++ + /** Class constructor. */ + UserObjectBindings(); + Index: OgreMain/include/OgreVertexIndexData.h =================================================================== ---- OgreMain/include/OgreVertexIndexData.h (revision 9851) +--- OgreMain/include/OgreVertexIndexData.h (revision 9952) +++ OgreMain/include/OgreVertexIndexData.h (working copy) @@ -47,6 +47,9 @@ /** Summary class collecting together vertex source information. */ @@ -2139,7 +2343,7 @@ IndexData(const IndexData& rhs); /* do nothing, should not use */ Index: OgreMain/include/OgreViewport.h =================================================================== ---- OgreMain/include/OgreViewport.h (revision 9851) +--- OgreMain/include/OgreViewport.h (revision 9952) +++ OgreMain/include/OgreViewport.h (working copy) @@ -53,9 +53,11 @@ viewport on a single render target and they overlap, one must @@ -2157,7 +2361,7 @@ cam Pointer to a camera to be the source for the image. Index: OgreMain/include/OgreWireBoundingBox.h =================================================================== ---- OgreMain/include/OgreWireBoundingBox.h (revision 9851) +--- OgreMain/include/OgreWireBoundingBox.h (revision 9952) +++ OgreMain/include/OgreWireBoundingBox.h (working copy) @@ -47,6 +47,9 @@ */ @@ -2171,7 +2375,7 @@ */ Index: OgreMain/include/OgreZip.h =================================================================== ---- OgreMain/include/OgreZip.h (revision 9851) +--- OgreMain/include/OgreZip.h (revision 9952) +++ OgreMain/include/OgreZip.h (working copy) @@ -53,6 +53,9 @@ */ @@ -2183,56 +2387,3 @@ protected: /// Handle to root zip file ZZIP_DIR* mZzipDir; -Index: OgreMain/src/OgreException.cpp -=================================================================== ---- OgreMain/src/OgreException.cpp (revision 9851) -+++ OgreMain/src/OgreException.cpp (working copy) -@@ -37,12 +37,28 @@ - - namespace Ogre { - -+ //Additions for Mogre -+ Exception LastExceptionThrown(-1, "", ""); -+ -+ Exception* Exception::getLastException(void) throw() -+ { -+ if (LastExceptionThrown.getNumber() == -1) -+ return 0; -+ return &LastExceptionThrown; -+ } -+ -+ void Exception::clearLastException() throw() -+ { -+ LastExceptionThrown = Exception(-1, "", ""); -+ } -+ - Exception::Exception(int num, const String& desc, const String& src) : - line( 0 ), - number( num ), - description( desc ), - source( src ) - { -+ LastExceptionThrown = *this; - // Log this error - not any more, allow catchers to do it - //LogManager::getSingleton()... [truncated message content] |