You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
(13) |
Nov
(32) |
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(17) |
Feb
(7) |
Mar
(76) |
Apr
(13) |
May
|
Jun
|
Jul
(9) |
Aug
|
Sep
(3) |
Oct
|
Nov
|
Dec
(9) |
2008 |
Jan
(4) |
Feb
|
Mar
|
Apr
|
May
(8) |
Jun
|
Jul
(3) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(5) |
2009 |
Jan
|
Feb
|
Mar
(3) |
Apr
(11) |
May
(4) |
Jun
(1) |
Jul
(3) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
(7) |
Dec
(4) |
2010 |
Jan
|
Feb
(10) |
Mar
(4) |
Apr
(17) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <mog...@li...> - 2010-04-29 17:51:02
|
Revision: 320 http://mogre.svn.sourceforge.net/mogre/?rev=320&view=rev Author: realgantz Date: 2010-04-29 17:50:54 +0000 (Thu, 29 Apr 2010) Log Message: ----------- Modified Paths: -------------- trunk/Mogre/Mogre/Mogre_vc9.vcproj Modified: trunk/Mogre/Mogre/Mogre_vc9.vcproj =================================================================== --- trunk/Mogre/Mogre/Mogre_vc9.vcproj 2010-04-28 21:11:58 UTC (rev 319) +++ trunk/Mogre/Mogre/Mogre_vc9.vcproj 2010-04-29 17:50:54 UTC (rev 320) @@ -90,7 +90,7 @@ /> <Tool Name="VCPostBuildEventTool" - CommandLine="copy $(OutDir)\$(TargetFileName) ..\Ogre\Samples\Common\bin\$(ConfigurationName)" + CommandLine="" /> </Configuration> <Configuration @@ -1024,11 +1024,11 @@ > </File> <File - RelativePath=".\include\Custom\MogreColourValue.h" + RelativePath=".\include\auto\MogreColourValue.h" > </File> <File - RelativePath=".\include\auto\MogreColourValue.h" + RelativePath=".\include\Custom\MogreColourValue.h" > </File> <File @@ -1360,11 +1360,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 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mog...@li...> - 2010-04-28 21:12:05
|
Revision: 319 http://mogre.svn.sourceforge.net/mogre/?rev=319&view=rev Author: realgantz Date: 2010-04-28 21:11:58 +0000 (Wed, 28 Apr 2010) Log Message: ----------- -> update patch file, use mogre patch only for now, old patch still in old directory Added Paths: ----------- trunk/Mogre/Ogre Patches/Mogre.patch trunk/Mogre/Ogre Patches/old/ trunk/Mogre/Ogre Patches/old/CLRObjects.patch trunk/Mogre/Ogre Patches/old/Exception.patch trunk/Mogre/Ogre Patches/old/OgreMain_vcproj.patch Removed Paths: ------------- trunk/Mogre/Ogre Patches/CLRObjects.patch trunk/Mogre/Ogre Patches/Exception.patch trunk/Mogre/Ogre Patches/OgreMain_vcproj.patch Deleted: trunk/Mogre/Ogre Patches/CLRObjects.patch =================================================================== --- trunk/Mogre/Ogre Patches/CLRObjects.patch 2010-04-20 03:58:21 UTC (rev 318) +++ trunk/Mogre/Ogre Patches/CLRObjects.patch 2010-04-28 21:11:58 UTC (rev 319) @@ -1,2389 +0,0 @@ -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 9952) -+++ OgreMain/include/OgreAnimable.h (working copy) -@@ -68,9 +68,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 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 - 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 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 - 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 vector<float>::type BoneBlendMask; -- - /// Normal constructor with all params supplied - AnimationState(const String& animName, AnimationStateSet *parent, - Real timePos, Real length, Real weight = 1.0, bool enabled = false); -@@ -183,6 +183,7 @@ - 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 9952) -+++ OgreMain/include/OgreAnimationTrack.h (working copy) -@@ -48,6 +48,9 @@ - */ - class _OgreExport TimeIndex - { -+ public: -+ DECLARE_CLRHANDLE; -+ - protected: - /** The time position (in relation to the whole animation sequence) - */ -@@ -118,10 +121,11 @@ - 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. - */ -@@ -261,6 +265,7 @@ - class _OgreExport NumericAnimationTrack : public AnimationTrack - { - public: -+ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(NumericAnimationTrack); - /// Constructor - NumericAnimationTrack(Animation* parent, unsigned short handle); - /// Constructor, associates with an AnimableValue -@@ -322,6 +327,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 -@@ -474,6 +481,7 @@ - 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 9952) -+++ OgreMain/include/OgreArchive.h (working copy) -@@ -84,8 +84,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; -@@ -94,8 +97,6 @@ - /// Read-only flag - bool mReadOnly; - public: -- -- - /** Constructor - don't call direct, used by ArchiveFactory. - */ - Archive( const String& name, const String& archType ) -Index: OgreMain/include/OgreBillboard.h -=================================================================== ---- OgreMain/include/OgreBillboard.h (revision 9952) -+++ OgreMain/include/OgreBillboard.h (working copy) -@@ -65,6 +65,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 9952) -+++ OgreMain/include/OgreBillboardChain.h (working copy) -@@ -77,7 +77,8 @@ - { - - public: -- -+ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(BillboardChain); -+ - /** Contains the data of an element of the BillboardChain. - */ - class _OgreExport Element -@@ -333,6 +334,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 9952) -+++ OgreMain/include/OgreBillboardParticleRenderer.h (working copy) -@@ -50,6 +50,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 9952) -+++ OgreMain/include/OgreBillboardSet.h (working copy) -@@ -108,6 +108,9 @@ - */ - class _OgreExport BillboardSet : public MovableObject, public Renderable - { -+ public: -+ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(BillboardSet); -+ - protected: - /** Private constructor (instances cannot be created directly). - */ -@@ -851,6 +854,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 9952) -+++ OgreMain/include/OgreBone.h (working copy) -@@ -51,6 +51,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 9952) -+++ OgreMain/include/OgreBorderPanelOverlayElement.h (working copy) -@@ -56,6 +56,9 @@ - */ - class _OgreExport BorderPanelOverlayElement : public PanelOverlayElement - { -+ public: -+ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(BorderPanelOverlayElement); -+ - friend class BorderRenderable; - public: - /** Constructor */ -@@ -317,8 +320,10 @@ - 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 9952) -+++ OgreMain/include/OgreCamera.h (working copy) -@@ -85,6 +85,8 @@ - class _OgreExport Camera : public Frustum - { - public: -+ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Camera); -+ - /** Listener interface so you can be notified of Camera events. - */ - class _OgreExport Listener -Index: OgreMain/include/OgreCodec.h -=================================================================== ---- 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 - 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 map< String, Codec* >::type CodecList; - /** A map that contains all the registered codecs. -@@ -61,9 +63,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/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 9952) -+++ OgreMain/include/OgreCompositionPass.h (working copy) -@@ -46,6 +46,8 @@ - class _OgreExport CompositionPass : public CompositorInstAlloc - { - public: -+ DECLARE_CLRHANDLE; -+ - CompositionPass(CompositionTargetPass *parent); - ~CompositionPass(); - -@@ -222,6 +224,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 9952) -+++ OgreMain/include/OgreCompositionTargetPass.h (working copy) -@@ -44,6 +44,8 @@ - class _OgreExport CompositionTargetPass : public CompositorInstAlloc - { - public: -+ DECLARE_CLRHANDLE; -+ - CompositionTargetPass(CompositionTechnique *parent); - ~CompositionTargetPass(); - -Index: OgreMain/include/OgreCompositionTechnique.h -=================================================================== ---- OgreMain/include/OgreCompositionTechnique.h (revision 9952) -+++ OgreMain/include/OgreCompositionTechnique.h (working copy) -@@ -41,9 +41,11 @@ - */ - /** 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 9952) -+++ OgreMain/include/OgreCompositor.h (working copy) -@@ -49,6 +49,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 9952) -+++ OgreMain/include/OgreCompositorChain.h (working copy) -@@ -43,9 +43,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 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 - for a Viewport. - */ -- class _OgreExport CompositorInstance : public CompositorInstAlloc -+ class _OgreExport CompositorInstance : public CompositorInstAlloc, public CLRObject - { - public: -+ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(CompositorInstance); -+ - CompositorInstance(CompositionTechnique *technique, CompositorChain *chain); - virtual ~CompositorInstance(); - /** Provides an interface to "listen in" to to render system operations executed by this -Index: OgreMain/include/OgreConfig.h -=================================================================== ---- OgreMain/include/OgreConfig.h (revision 9952) -+++ OgreMain/include/OgreConfig.h (working copy) -@@ -92,18 +92,6 @@ - # define OGRE_MEMORY_ALLOCATOR OGRE_MEMORY_ALLOCATOR_NEDPOOLING - #endif - --// Whether to use the custom memory allocator in STL containers --#ifndef OGRE_CONTAINERS_USE_CUSTOM_MEMORY_ALLOCATOR --# define OGRE_CONTAINERS_USE_CUSTOM_MEMORY_ALLOCATOR 1 --#endif -- --//if you want to make Ogre::String use the custom memory allocator then set: --//#define OGRE_STRING_USE_CUSTOM_MEMORY_ALLOCATOR 1 --// Doing this will mean Ogre's strings will not be compatible with std::string however --#ifndef OGRE_STRING_USE_CUSTOM_MEMORY_ALLOCATOR --# define OGRE_STRING_USE_CUSTOM_MEMORY_ALLOCATOR 0 --#endif -- - // 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 9952) -+++ OgreMain/include/OgreEdgeListBuilder.h (working copy) -@@ -51,6 +51,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 9952) -+++ OgreMain/include/OgreEntity.h (working copy) -@@ -80,6 +80,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; -@@ -785,6 +788,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/OgreException.h -=================================================================== ---- OgreMain/include/OgreException.h (revision 9952) -+++ OgreMain/include/OgreException.h (working copy) -@@ -151,7 +151,7 @@ - - /** Gets the error code. - */ -- virtual int getNumber(void) const throw(); -+ virtual ExceptionCodes getNumber(void) const throw(); - - /** Gets the source function. - */ -@@ -173,6 +173,12 @@ - - /// Override std::exception::what - const char* what() const throw() { return getFullDescription().c_str(); } -+ -+ //Additions for Mogre -+ /** Retrieves a pointer to the last exception created. -+ */ -+ static Exception* getLastException() throw(); -+ static void clearLastException() throw(); - - }; - -Index: OgreMain/include/OgreExternalTextureSource.h -=================================================================== ---- 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 - 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 9952) -+++ OgreMain/include/OgreFileSystem.h (working copy) -@@ -46,6 +46,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 9952) -+++ OgreMain/include/OgreFont.h (working copy) -@@ -66,6 +66,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 9952) -+++ OgreMain/include/OgreFrustum.h (working copy) -@@ -83,6 +83,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 9952) -+++ OgreMain/include/OgreGpuProgram.h (working copy) -@@ -68,6 +68,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/OgreGpuProgramParams.h -=================================================================== ---- OgreMain/include/OgreGpuProgramParams.h (revision 9952) -+++ OgreMain/include/OgreGpuProgramParams.h (working copy) -@@ -386,6 +386,9 @@ - */ - class _OgreExport GpuSharedParameters : public GpuParamsAlloc - { -+ public: -+ DECLARE_CLRHANDLE; -+ - protected: - GpuNamedConstants mNamedConstants; - FloatConstantList mFloatConstants; -@@ -500,6 +503,9 @@ - */ - class _OgreExport GpuSharedParametersUsage : public GpuParamsAlloc - { -+ public: -+ DECLARE_CLRHANDLE; -+ - protected: - GpuSharedParametersPtr mSharedParams; - // Not a shared pointer since this is also parent -@@ -584,6 +590,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. - */ -Index: OgreMain/include/OgreHardwareBuffer.h -=================================================================== ---- 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 - 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/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 9952) -+++ OgreMain/include/OgreHardwareIndexBuffer.h (working copy) -@@ -46,6 +46,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 9952) -+++ OgreMain/include/OgreHardwareOcclusionQuery.h (working copy) -@@ -48,12 +48,13 @@ - * @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 9952) -+++ OgreMain/include/OgreHardwarePixelBuffer.h (working copy) -@@ -51,6 +51,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 9952) -+++ OgreMain/include/OgreHardwareVertexBuffer.h (working copy) -@@ -46,6 +46,9 @@ - /** Specialisation of HardwareBuffer for a vertex buffer. */ - class _OgreExport HardwareVertexBuffer : public HardwareBuffer - { -+ public: -+ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(HardwareVertexBuffer); -+ - protected: - - HardwareBufferManagerBase* mMgr; -@@ -302,9 +305,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 list<VertexElement>::type VertexElementList; - /// Sort routine for vertex elements -@@ -480,9 +485,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 map<unsigned short, HardwareVertexBufferSharedPtr>::type VertexBufferBindingMap; - protected: -Index: OgreMain/include/OgreHighLevelGpuProgram.h -=================================================================== ---- OgreMain/include/OgreHighLevelGpuProgram.h (revision 9952) -+++ OgreMain/include/OgreHighLevelGpuProgram.h (working copy) -@@ -62,6 +62,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 9952) -+++ OgreMain/include/OgreImage.h (working copy) -@@ -61,6 +61,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 9952) -+++ OgreMain/include/OgreImageCodec.h (working copy) -@@ -47,12 +47,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 9952) -+++ OgreMain/include/OgreInstancedGeometry.h (working copy) -@@ -101,9 +101,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 -@@ -252,6 +254,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 9952) -+++ OgreMain/include/OgreKeyFrame.h (working copy) -@@ -52,9 +52,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); -@@ -79,6 +80,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() {} -@@ -102,6 +105,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() {} -@@ -153,6 +158,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() {} -@@ -183,6 +190,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 9952) -+++ OgreMain/include/OgreLight.h (working copy) -@@ -72,6 +72,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 -@@ -565,6 +567,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/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 9952) -+++ OgreMain/include/OgreLog.h (working copy) -@@ -91,6 +91,9 @@ - */ - class _OgreExport Log : public LogAlloc - { -+ public: -+ DECLARE_CLRHANDLE; -+ - protected: - std::ofstream mfpLog; - LoggingLevel mLogLevel; -@@ -190,6 +193,9 @@ - */ - class Stream - { -+ public: -+ DECLARE_CLRHANDLE; -+ - protected: - Log* mTarget; - LogMessageLevel mLevel; -Index: OgreMain/include/OgreManualObject.h -=================================================================== ---- OgreMain/include/OgreManualObject.h (revision 9952) -+++ OgreMain/include/OgreManualObject.h (working copy) -@@ -106,6 +106,8 @@ - class _OgreExport ManualObject : public MovableObject - { - public: -+ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ManualObject); -+ - ManualObject(const String& name); - virtual ~ManualObject(); - -@@ -393,8 +395,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; -@@ -440,6 +445,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 -@@ -541,6 +549,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 9952) -+++ OgreMain/include/OgreMaterial.h (working copy) -@@ -87,6 +87,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 9952) -+++ OgreMain/include/OgreMesh.h (working copy) -@@ -90,6 +90,9 @@ - - class _OgreExport Mesh: public Resource - { -+ public: -+ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Mesh); -+ - friend class SubMesh; - friend class MeshSerializerImpl; - friend class MeshSerializerImpl_v1_4; -Index: OgreMain/include/OgreMeshSerializer.h -=================================================================== ---- OgreMain/include/OgreMeshSerializer.h (revision 9952) -+++ OgreMain/include/OgreMeshSerializer.h (working copy) -@@ -69,6 +69,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 9952) -+++ OgreMain/include/OgreMovableObject.h (working copy) -@@ -59,6 +59,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 -@@ -556,8 +558,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 9952) -+++ 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 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, - e.g. SceneNode, Bone - */ -- class _OgreExport Node : public NodeAlloc -+ class _OgreExport Node : 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 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 - 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 list<OverlayContainer*>::type OverlayContainerList; - protected: - String mName; -Index: OgreMain/include/OgreOverlayContainer.h -=================================================================== ---- OgreMain/include/OgreOverlayContainer.h (revision 9952) -+++ OgreMain/include/OgreOverlayContainer.h (working copy) -@@ -56,6 +56,8 @@ - class _OgreExport OverlayContainer : public OverlayElement - { - public: -+ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(OverlayContainer); -+ - typedef map<String, OverlayElement*>::type ChildMap; - typedef MapIterator<ChildMap> ChildIterator; - typedef map<String, OverlayContainer*>::type ChildContainerMap; -Index: OgreMain/include/OgreOverlayElement.h -=================================================================== ---- 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 - 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 9952) -+++ OgreMain/include/OgreOverlayElementFactory.h (working copy) -@@ -54,9 +54,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. */ -@@ -72,6 +74,8 @@ - class _OgreExport PanelOverlayElementFactory: public OverlayElementFactory - { - public: -+ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(PanelOverlayElementFactory); -+ - /** See OverlayElementFactory */ - OverlayElement* createOverlayElement(const String& instanceName) - { -@@ -89,6 +93,8 @@ - class _OgreExport BorderPanelOverlayElementFactory: public OverlayElementFactory - { - public: -+ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(BorderPanelOverlayElementFactory); -+ - /** See OverlayElementFactory */ - OverlayElement* createOverlayElement(const String& instanceName) - { -@@ -106,6 +112,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 9952) -+++ OgreMain/include/OgrePanelOverlayElement.h (working copy) -@@ -58,6 +58,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 9952) -+++ OgreMain/include/OgreParticle.h (working copy) -@@ -59,6 +59,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 9952) -+++ OgreMain/include/OgreParticleAffector.h (working copy) -@@ -60,8 +60,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 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 - 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: - vector<ParticleAffector*>::type mAffectors; - public: -Index: OgreMain/include/OgreParticleEmitter.h -=================================================================== ---- 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 - 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 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 - 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: - vector<ParticleEmitter*>::type mEmitters; - public: -Index: OgreMain/include/OgreParticleSystem.h -=================================================================== ---- OgreMain/include/OgreParticleSystem.h (revision 9952) -+++ OgreMain/include/OgreParticleSystem.h (working copy) -@@ -66,7 +66,8 @@ - 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 9952) -+++ OgreMain/include/OgreParticleSystemManager.h (working copy) -@@ -385,6 +385,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 9952) -+++ OgreMain/include/OgreParticleSystemRenderer.h (working copy) -@@ -46,9 +46,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 9952) -+++ OgreMain/include/OgrePass.h (working copy) -@@ -80,6 +80,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 9952) -+++ OgreMain/include/OgrePatchMesh.h (working copy) -@@ -46,6 +46,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 9952) -+++ OgreMain/include/OgrePatchSurface.h (working copy) -@@ -52,6 +52,8 @@ - class _OgreExport PatchSurface : public PatchAlloc - { - public: -+ DECLARE_CLRHANDLE; -+ - 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 9952) -+++ OgreMain/include/OgrePlaneBoundedVolume.h (working copy) -@@ -48,6 +48,8 @@ - class _OgreExport PlaneBoundedVolume - { - public: -+ DECLARE_CLRHANDLE; -+ - typedef vector<Plane>::type PlaneList; - /// Publicly accessible plane list, you can modify this direct - PlaneList planes; -Index: OgreMain/include/OgrePose.h -=================================================================== ---- 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 - order to animate based on blending poses together. - */ -- class _OgreExport Pose : public AnimationAlloc -+ class _OgreExport Pose : public AnimationAlloc, public CLRObject - { - public: -+ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Pose); -+ - /** Constructor - @param target The target vertexdata index (0 for shared, 1+ for - dedicated at the submesh index + 1) -Index: OgreMain/include/OgrePrerequisites.h -=================================================================== ---- OgreMain/include/OgrePrerequisites.h (revision 9952) -+++ OgreMain/include/OgrePrerequisites.h (working copy) -@@ -315,7 +315,10 @@ - #include "OgreStdHeaders.h" - #include "OgreMemoryAllocatorConfig.h" - -+#include "CLRObject.h" -+#include "CLRHandle.h" - -+ - 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 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 - supported. - */ -- class _OgreExport ProgressiveMesh : public ProgMeshAlloc -+ class _OgreExport ProgressiveMesh : public ProgMeshAlloc, public CLRObject - { - public: -- -+ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ProgressiveMesh); -+ - /** The way to derive the quota of vertices which are reduced at each LOD. */ - enum VertexReductionQuota - { -Index: OgreMain/include/OgreRectangle2D.h -=================================================================== ---- OgreMain/include/OgreRectangle2D.h (revision 9952) -+++ OgreMain/include/OgreRectangle2D.h (working copy) -@@ -48,6 +48,9 @@ - */ - class _OgreExport Rectangle2D : public SimpleRenderable - { -+ public: -+ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Rectangle2D); -+ - 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 rende... [truncated message content] |
From: <mog...@li...> - 2010-04-20 03:58:30
|
Revision: 318 http://mogre.svn.sourceforge.net/mogre/?rev=318&view=rev Author: mzanin Date: 2010-04-20 03:58:21 +0000 (Tue, 20 Apr 2010) Log Message: ----------- Just ignore the constructor if it has an ignore attribute. Removed more complex ignore check on parameters themselves (not needed yet). Modified Paths: -------------- trunk/Mogre/AutoWrap/Meta/IncClassProducer.cs Modified: trunk/Mogre/AutoWrap/Meta/IncClassProducer.cs =================================================================== --- trunk/Mogre/AutoWrap/Meta/IncClassProducer.cs 2010-04-20 03:57:45 UTC (rev 317) +++ trunk/Mogre/AutoWrap/Meta/IncClassProducer.cs 2010-04-20 03:58:21 UTC (rev 318) @@ -287,20 +287,27 @@ } } - protected virtual void AddPublicConstructors() - { - if (_t.IsNativeAbstractClass && !_t.IsInterface) - return; + protected virtual void AddPublicConstructors() + { + if (_t.IsNativeAbstractClass && !_t.IsInterface) + return; - if (_t.Constructors.Length > 0) - { - foreach (DefFunction func in _t.Constructors) - if (func.ProtectionType == ProtectionType.Public) - AddPublicConstructor(func); - } - else - AddPublicConstructor(null); - } + if (_t.Constructors.Length > 0) + { + foreach (DefFunction func in _t.Constructors) + { + if (func.ProtectionType == ProtectionType.Public && + !func.HasAttribute<IgnoreAttribute>()) + { + AddPublicConstructor(func); + } + } + } + else + { + AddPublicConstructor(null); + } + } protected virtual void AddPublicConstructor(DefFunction function) { @@ -328,9 +335,6 @@ if (dc < defcount && hideParams) continue; - if (!hideParams && (function.Parameters.Count > 0 && dc < function.Parameters.Count && - function.Parameters[dc].HasAttribute<IgnoreAttribute>())) - continue; _sb.AppendIndent(className); AddMethodParameters(function, function.Parameters.Count - dc); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mog...@li...> - 2010-04-20 03:57:51
|
Revision: 317 http://mogre.svn.sourceforge.net/mogre/?rev=317&view=rev Author: mzanin Date: 2010-04-20 03:57:45 +0000 (Tue, 20 Apr 2010) Log Message: ----------- Just ignore the constructor if it has an ignore attribute. Removed more complex ignore check on parameters themselves (not needed yet). Modified Paths: -------------- trunk/Mogre/AutoWrap/Meta/CppClassProducer.cs Modified: trunk/Mogre/AutoWrap/Meta/CppClassProducer.cs =================================================================== --- trunk/Mogre/AutoWrap/Meta/CppClassProducer.cs 2010-04-20 03:56:07 UTC (rev 316) +++ trunk/Mogre/AutoWrap/Meta/CppClassProducer.cs 2010-04-20 03:57:45 UTC (rev 317) @@ -88,25 +88,32 @@ } } - protected override void AddPublicDeclarations() - { - if ((!_t.IsNativeAbstractClass || _t.IsInterface) - && IsConstructable) - { - if (_t.Constructors.Length > 0) - { - foreach (DefFunction func in _t.Constructors) - if (func.ProtectionType == ProtectionType.Public) - AddPublicConstructor(func); - } - else - AddPublicConstructor(null); + protected override void AddPublicDeclarations() + { + if ((!_t.IsNativeAbstractClass || _t.IsInterface) + && IsConstructable) + { + if (_t.Constructors.Length > 0) + { + foreach (DefFunction function in _t.Constructors) + { + if (function.ProtectionType == ProtectionType.Public && + !function.HasAttribute<IgnoreAttribute>()) + { + AddPublicConstructor(function); + } + } + } + else + { + AddPublicConstructor(null); + } - _sb.AppendLine(); - } + _sb.AppendLine(); + } - base.AddPublicDeclarations(); - } + base.AddPublicDeclarations(); + } protected virtual void AddPublicConstructor(DefFunction function) { @@ -132,10 +139,6 @@ { if (dc < defcount && function.HasAttribute<HideParamsWithDefaultValuesAttribute>()) continue; - // Added this to ignore parameters - if (!hideParams && (function.Parameters.Count > 0 && dc < function.Parameters.Count && - function.Parameters[dc].HasAttribute<IgnoreAttribute>())) - continue; AddPublicConstructorOverload(function, function.Parameters.Count - dc); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mog...@li...> - 2010-04-20 03:56:13
|
Revision: 316 http://mogre.svn.sourceforge.net/mogre/?rev=316&view=rev Author: mzanin Date: 2010-04-20 03:56:07 +0000 (Tue, 20 Apr 2010) Log Message: ----------- Ignore the HardwareManagerBuffer constructor completely (don't worry about the parameters since there is only one) Modified Paths: -------------- trunk/Mogre/AutoWrap/Attributes.xml Modified: trunk/Mogre/AutoWrap/Attributes.xml =================================================================== --- trunk/Mogre/AutoWrap/Attributes.xml 2010-04-20 03:13:17 UTC (rev 315) +++ trunk/Mogre/AutoWrap/Attributes.xml 2010-04-20 03:56:07 UTC (rev 316) @@ -332,9 +332,7 @@ </class> <class name="HardwareBufferManager"> <function name="_forceReleaseBufferCopies" Ignore=""/> - <function name="HardwareBufferManager"> - <param name="imp" Ignore="" /> - </function> + <function name="HardwareBufferManager" Ignore=""/> </class> <class name="CompositorInstance"> <class name="RenderSystemOperation" Ignore=""/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mog...@li...> - 2010-04-20 03:13:23
|
Revision: 315 http://mogre.svn.sourceforge.net/mogre/?rev=315&view=rev Author: mzanin Date: 2010-04-20 03:13:17 +0000 (Tue, 20 Apr 2010) Log Message: ----------- Replaces throw with return to handle null params nicely Modified Paths: -------------- trunk/Mogre/AutoWrap/Meta/MetaDefinition.cs Modified: trunk/Mogre/AutoWrap/Meta/MetaDefinition.cs =================================================================== --- trunk/Mogre/AutoWrap/Meta/MetaDefinition.cs 2010-04-20 03:12:15 UTC (rev 314) +++ trunk/Mogre/AutoWrap/Meta/MetaDefinition.cs 2010-04-20 03:13:17 UTC (rev 315) @@ -154,7 +154,8 @@ } } if (param == null) - throw new Exception("Wrong param name"); + return; + //throw new Exception("Wrong param name"); foreach (XmlAttribute attr in child.Attributes) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mog...@li...> - 2010-04-20 03:12:21
|
Revision: 314 http://mogre.svn.sourceforge.net/mogre/?rev=314&view=rev Author: mzanin Date: 2010-04-20 03:12:15 +0000 (Tue, 20 Apr 2010) Log Message: ----------- Ignore constructor params with Ignore="" attribute Modified Paths: -------------- trunk/Mogre/AutoWrap/Meta/CppClassProducer.cs trunk/Mogre/AutoWrap/Meta/IncClassProducer.cs Modified: trunk/Mogre/AutoWrap/Meta/CppClassProducer.cs =================================================================== --- trunk/Mogre/AutoWrap/Meta/CppClassProducer.cs 2010-04-20 03:11:03 UTC (rev 313) +++ trunk/Mogre/AutoWrap/Meta/CppClassProducer.cs 2010-04-20 03:12:15 UTC (rev 314) @@ -108,28 +108,35 @@ base.AddPublicDeclarations(); } - protected virtual void AddPublicConstructor(DefFunction f) - { - if (f == null) - AddPublicConstructorOverload(f, 0); + protected virtual void AddPublicConstructor(DefFunction function) + { + if (function == null) + { + AddPublicConstructorOverload(function, 0); + } else { int defcount = 0; - if (!f.HasAttribute<NoDefaultParamOverloadsAttribute>()) + if (!function.HasAttribute<NoDefaultParamOverloadsAttribute>()) { - foreach (DefParam param in f.Parameters) + foreach (DefParam param in function.Parameters) if (param.DefaultValue != null) defcount++; } + + bool hideParams = function.HasAttribute<HideParamsWithDefaultValuesAttribute>(); // The overloads (because of default values) for (int dc = 0; dc <= defcount; dc++) { - if (dc < defcount && f.HasAttribute<HideParamsWithDefaultValuesAttribute>()) + if (dc < defcount && function.HasAttribute<HideParamsWithDefaultValuesAttribute>()) continue; - - AddPublicConstructorOverload(f, f.Parameters.Count - dc); + // Added this to ignore parameters + if (!hideParams && (function.Parameters.Count > 0 && dc < function.Parameters.Count && + function.Parameters[dc].HasAttribute<IgnoreAttribute>())) + continue; + AddPublicConstructorOverload(function, function.Parameters.Count - dc); } } Modified: trunk/Mogre/AutoWrap/Meta/IncClassProducer.cs =================================================================== --- trunk/Mogre/AutoWrap/Meta/IncClassProducer.cs 2010-04-20 03:11:03 UTC (rev 313) +++ trunk/Mogre/AutoWrap/Meta/IncClassProducer.cs 2010-04-20 03:12:15 UTC (rev 314) @@ -302,31 +302,38 @@ AddPublicConstructor(null); } - protected virtual void AddPublicConstructor(DefFunction f) + protected virtual void AddPublicConstructor(DefFunction function) { string className = (_t.IsInterface) ? _t.Name : _t.CLRName; - if (f == null) + if (function == null) + { _sb.AppendLine(className + "();"); + } else { int defcount = 0; - if (!f.HasAttribute<NoDefaultParamOverloadsAttribute>()) + if (!function.HasAttribute<NoDefaultParamOverloadsAttribute>()) { - foreach (DefParam param in f.Parameters) + foreach (DefParam param in function.Parameters) if (param.DefaultValue != null) defcount++; } + bool hideParams = function.HasAttribute<HideParamsWithDefaultValuesAttribute>(); // The overloads (because of default values) for (int dc = 0; dc <= defcount; dc++) { - if (dc < defcount && f.HasAttribute<HideParamsWithDefaultValuesAttribute>()) + if (dc < defcount && hideParams) continue; + if (!hideParams && (function.Parameters.Count > 0 && dc < function.Parameters.Count && + function.Parameters[dc].HasAttribute<IgnoreAttribute>())) + continue; + _sb.AppendIndent(className); - AddMethodParameters(f, f.Parameters.Count - dc); + AddMethodParameters(function, function.Parameters.Count - dc); _sb.Append(";\n"); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mog...@li...> - 2010-04-20 03:11:09
|
Revision: 313 http://mogre.svn.sourceforge.net/mogre/?rev=313&view=rev Author: mzanin Date: 2010-04-20 03:11:03 +0000 (Tue, 20 Apr 2010) Log Message: ----------- Ignoring HardwareBufferManagerBase and it's usages Modified Paths: -------------- trunk/Mogre/AutoWrap/Attributes.xml Modified: trunk/Mogre/AutoWrap/Attributes.xml =================================================================== --- trunk/Mogre/AutoWrap/Attributes.xml 2010-04-13 20:53:34 UTC (rev 312) +++ trunk/Mogre/AutoWrap/Attributes.xml 2010-04-20 03:11:03 UTC (rev 313) @@ -197,7 +197,8 @@ <class name="DefaultHardwareVertexBuffer" Ignore=""/> <class name="DefaultHardwareIndexBuffer" Ignore=""/> <class name="DefaultHardwareBufferManager" Ignore=""/> - <!--<class name="HardwareBufferManagerBase" Ignore="" />--> + <class name="HardwareBufferManagerBase" Ignore="" /> + <class name="DefaultHardwareBufferManagerBase" Ignore="" /> <class name="ControllerManager" Ignore=""/> <class name="ControllerValueRealPtr" Ignore=""/> <class name="ControllerFunctionRealPtr" Ignore=""/> @@ -331,6 +332,9 @@ </class> <class name="HardwareBufferManager"> <function name="_forceReleaseBufferCopies" Ignore=""/> + <function name="HardwareBufferManager"> + <param name="imp" Ignore="" /> + </function> </class> <class name="CompositorInstance"> <class name="RenderSystemOperation" Ignore=""/> @@ -421,7 +425,9 @@ <enumeration name="OperationType" Rename="OperationTypes"/> </class> <class name="VertexData" WrapType="CLRHandle"> - <!--<variable name="mMgr" Ignore="" />--> + <function name="VertexData" HideParamsWithDefaultValues=""> + <param name="mgr" Ignore=""/> + </function> </class> <class name="TextureUnitState" WrapType="CLRHandle"/> <class name="Technique" WrapType="CLRHandle"> 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] |
From: <mog...@li...> - 2010-04-13 08:46:39
|
Revision: 311 http://mogre.svn.sourceforge.net/mogre/?rev=311&view=rev Author: mzanin Date: 2010-04-13 08:46:32 +0000 (Tue, 13 Apr 2010) Log Message: ----------- Added #pragma comment(lib, "Mogre.lib") so it is no longer necessary to add/remove Mogre.lib manually Modified Paths: -------------- trunk/Mogre/Mogre/Ogre/CLRObject.cpp Modified: trunk/Mogre/Mogre/Ogre/CLRObject.cpp =================================================================== --- trunk/Mogre/Mogre/Ogre/CLRObject.cpp 2010-04-13 04:35:54 UTC (rev 310) +++ trunk/Mogre/Mogre/Ogre/CLRObject.cpp 2010-04-13 08:46:32 UTC (rev 311) @@ -2,6 +2,7 @@ #include "CLRConfig.h" #if LINK_TO_MOGRE +#pragma comment(lib, "Mogre.lib") namespace Mogre { #define CLROBJECT(T) \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mog...@li...> - 2010-04-13 04:36:03
|
Revision: 310 http://mogre.svn.sourceforge.net/mogre/?rev=310&view=rev Author: mzanin Date: 2010-04-13 04:35:54 +0000 (Tue, 13 Apr 2010) Log Message: ----------- Renamed ...STLVECTOR... to ...STLHASHEDVECTOR... Modified Paths: -------------- trunk/Mogre/Mogre/include/STLHashedVector.h Modified: trunk/Mogre/Mogre/include/STLHashedVector.h =================================================================== --- trunk/Mogre/Mogre/include/STLHashedVector.h 2010-04-13 04:33:19 UTC (rev 309) +++ trunk/Mogre/Mogre/include/STLHashedVector.h 2010-04-13 04:35:54 UTC (rev 310) @@ -767,7 +767,7 @@ //############################################################################################## -#define CPP_DECLARE_STLVECTOR_EMPTY_NONCONST( PREFIX, CLASS_NAME, M, N ) \ +#define CPP_DECLARE_STLHASHEDVECTOR_EMPTY_NONCONST( PREFIX, CLASS_NAME, M, N ) \ \ PREFIX##Const_##CLASS_NAME^ PREFIX##CLASS_NAME::ReadOnlyInstance::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 04:33:29
|
Revision: 309 http://mogre.svn.sourceforge.net/mogre/?rev=309&view=rev Author: mzanin Date: 2010-04-13 04:33:19 +0000 (Tue, 13 Apr 2010) Log Message: ----------- Using new helper class Mogre17 Modified Paths: -------------- trunk/Mogre/AutoWrap/Meta/DefMember.cs trunk/Mogre/AutoWrap/Meta/DefType.cs Modified: trunk/Mogre/AutoWrap/Meta/DefMember.cs =================================================================== --- trunk/Mogre/AutoWrap/Meta/DefMember.cs 2010-04-13 04:31:06 UTC (rev 308) +++ trunk/Mogre/AutoWrap/Meta/DefMember.cs 2010-04-13 04:33:19 UTC (rev 309) @@ -111,7 +111,6 @@ { if (_type == null) { - if (Container != "") { _type = CreateExplicitContainerType(Container, ContainerKey, (ContainerValue != "") ? ContainerValue : TypeName); @@ -159,7 +158,6 @@ } public string TypeName = null; - public string Definition; public ProtectionType ProtectionType; public PassedByType PassedByType; @@ -205,19 +203,6 @@ _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"); @@ -232,27 +217,8 @@ } } } - - /* 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/DefType.cs =================================================================== --- trunk/Mogre/AutoWrap/Meta/DefType.cs 2010-04-13 04:31:06 UTC (rev 308) +++ trunk/Mogre/AutoWrap/Meta/DefType.cs 2010-04-13 04:33:19 UTC (rev 309) @@ -256,6 +256,11 @@ get { return _elem.GetAttribute("name"); } } + public override string ToString() + { + return Name; + } + public virtual string CLRName { get @@ -685,11 +690,6 @@ { foreach (DefMember m in Members) { - if (m.Name == "getWindowPlanes") - { - - } - if (m is DefFunction) yield return m; } @@ -1464,13 +1464,13 @@ case "function": DefFunction func = new DefFunction(child); func.Class = this; - if (func.Name != "DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE") - AddNewFunction(func); - break; + if (func.Name != "DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE" && !func.Name.StartsWith("OGRE_")) + AddNewFunction(func); + break; case "variable": DefField field = new DefField(child); - if (field.Name != this.Name) + if (field.Name != this.Name && !field.Name.StartsWith("OGRE_")) { field.Class = this; Members.Add(field); @@ -1646,51 +1646,14 @@ { DefTypeDef expl = null; - //(Mogre 1.7) change type to reflect code change of ogre - //get the real base type name - if (!string.IsNullOrEmpty(typedef.BaseTypeName)) + if (typedef.BaseTypeName.Contains("<") || + typedef.BaseTypeName.Contains("std::") || + Mogre17.IsCollection(typedef.BaseTypeName) ) { - // if(typedef. - - // && typedef.BaseTypeName.IndexOf('<') != -1 - //string BaseTypeName = typedef.BaseTypeName; - //int CharPos = BaseTypeName.IndexOf("<"); - string OgreTypeDef = typedef.BaseTypeName; - - - switch (OgreTypeDef) + if (typedef.BaseTypeName == "std::vector" || typedef.BaseTypeName == "std::list") { - case "vector": - case "set": - case "deque": - case "list": - case "map": - case "multimap": - case "pair": - typedef.BaseTypeName = "std::" + OgreTypeDef; - break; - case "HashedVector": - typedef.BaseTypeName = OgreTypeDef; - break; - } - } - - //End (MOGRE 1.7) - - - - if (typedef.BaseTypeName.Contains("<") - || typedef.BaseTypeName.Contains("std::")) - { - if (typedef.BaseTypeName == "std::vector" - || typedef.BaseTypeName == "std::list") - { expl = DefTemplateOneType.CreateExplicitType(typedef); } - else if (typedef.BaseTypeName == "std::basic_stringstream") - { - - } else { switch (typedef.TypeNames.Length) @@ -1699,7 +1662,7 @@ expl = DefTemplateOneType.CreateExplicitType(typedef); break; case 2: - expl = DefTemplateTwoTypes.CreateExplicitType(typedef); + expl = DefTemplateTwoTypes.CreateExplicitType(typedef); break; default: throw new Exception("Unexpected"); @@ -1708,7 +1671,7 @@ } else if (typedef.Name == "String") { - expl = new DefStringTypeDef(typedef.Element); + expl = new DefStringTypeDef(typedef.Element); } if (expl != null) @@ -1722,7 +1685,7 @@ return typedef; } - public override bool IsIgnored + public override bool IsIgnored { get { @@ -1774,7 +1737,8 @@ protected PassedByType[] _passed; private ITypeMember[] _types; - public virtual ITypeMember[] TypeMembers + + public virtual ITypeMember[] TypeMembers { 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 04:31:17
|
Revision: 308 http://mogre.svn.sourceforge.net/mogre/?rev=308&view=rev Author: mzanin Date: 2010-04-13 04:31:06 +0000 (Tue, 13 Apr 2010) Log Message: ----------- Using new helper class Mogre17 Modified Paths: -------------- trunk/Mogre/AutoWrap/Meta/DefExplicitTypes.cs Modified: trunk/Mogre/AutoWrap/Meta/DefExplicitTypes.cs =================================================================== --- trunk/Mogre/AutoWrap/Meta/DefExplicitTypes.cs 2010-04-13 04:29:28 UTC (rev 307) +++ trunk/Mogre/AutoWrap/Meta/DefExplicitTypes.cs 2010-04-13 04:31:06 UTC (rev 308) @@ -22,8 +22,6 @@ #endregion using System; -using System.Collections.Generic; -using System.Text; using System.Xml; namespace AutoWrap.Meta @@ -314,7 +312,9 @@ public new static DefTypeDef CreateExplicitType(DefTypeDef typedef) { - switch (typedef.BaseTypeName) + string baseTypeName = Mogre17.GetBaseType(typedef); + + switch (baseTypeName) { case "::std::hash_map": return DefStdHashMap.CreateExplicitType(typedef); @@ -507,35 +507,10 @@ public new static DefTypeDef CreateExplicitType(DefTypeDef typedef) { - //(MOGRE 1.7) get the real base type name - string BaseTypeName = typedef.BaseTypeName; + string baseTypeName = Mogre17.GetBaseType(typedef); - if (!string.IsNullOrEmpty(BaseTypeName) && BaseTypeName.IndexOf('<') != -1) + switch (baseTypeName) { - - - int CharPos = BaseTypeName.IndexOf("<"); - string OgreTypeDef = BaseTypeName.Substring(0, CharPos); - - switch (OgreTypeDef) - { - case "vector": - case "set": - case "deque": - case "list": - BaseTypeName = "std::" + OgreTypeDef; - break; - case "HashedVector": - BaseTypeName = OgreTypeDef; - break; - } - } - - //End (MOGRE 1.7) - - - switch (BaseTypeName) - { case "std::vector": return DefStdVector.CreateExplicitType(typedef); case "std::set": This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mog...@li...> - 2010-04-13 04:29:39
|
Revision: 307 http://mogre.svn.sourceforge.net/mogre/?rev=307&view=rev Author: mzanin Date: 2010-04-13 04:29:28 +0000 (Tue, 13 Apr 2010) Log Message: ----------- Various changes to make autowrapper work Modified Paths: -------------- trunk/Mogre/AutoWrap/Attributes.xml Modified: trunk/Mogre/AutoWrap/Attributes.xml =================================================================== --- trunk/Mogre/AutoWrap/Attributes.xml 2010-04-13 04:28:45 UTC (rev 306) +++ trunk/Mogre/AutoWrap/Attributes.xml 2010-04-13 04:29:28 UTC (rev 307) @@ -52,7 +52,7 @@ <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="" /> + <!--<function name="OGRE_THREAD_POINTER" Ignore="" />--> </class> <class name="BackgroundProcessResult" WrapType="CLRHandle"> @@ -127,6 +127,7 @@ <class name="SubMeshLodGeometryLink" Ignore=""/> <class name="InstancedObject" WrapType="CLRHandle"/> <class name="BatchInstance"> + <variable name="mLodValues" Ignore=""/> <!-- Removed in 1.6 <function name="getObjectsAsArray" Ignore=""/>--> </class> @@ -189,17 +190,21 @@ <typedef name="ResourceDeclarationList" STLListNoRemoveAndUnique=""/> <!--= It's protected --> <struct name="ResourceGroup" Ignore=""/> + + <function name="getResourceLocationList" Ignore=""/> </class> <class name="ScriptLoader" Ignore=""/> <class name="DefaultHardwareVertexBuffer" Ignore=""/> <class name="DefaultHardwareIndexBuffer" Ignore=""/> <class name="DefaultHardwareBufferManager" Ignore=""/> - <class name="HardwareBufferManagerBase" Ignore="" /> + <!--<class name="HardwareBufferManagerBase" Ignore="" />--> <class name="ControllerManager" Ignore=""/> <class name="ControllerValueRealPtr" Ignore=""/> <class name="ControllerFunctionRealPtr" Ignore=""/> <class name="ManualResourceLoader" WrapType="Interface"/> <class name="MaterialSerializer" WrapType="PlainWrapper"/> + <class name="ResourceBackgroundQueue" Ignore=""/> + <!-- to avoid name clash with System.Exception --> <class name="Exception" WrapType="PlainWrapper" ReadOnly="" Rename="OgreException"> <_CustomIncDeclaration> @@ -217,8 +222,10 @@ </class> <class name="HighLevelGpuProgramFactory" Ignore=""/> <struct name="GpuConstantDefinition" WrapType="NativePtrValueType"/> - <struct name="GpuNamedConstants" WrapType="NativePtrValueType"/> - <struct name="GpuLogicalBufferStruct" WrapType="NativePtrValueType"/> + + <class name="GpuNamedConstants" WrapType="PlainWrapper"/> + <class name="GpuLogicalBufferStruct" WrapType="PlainWrapper"/> + <class name="GpuProgramParameters" WrapType="CLRHandle"> <struct name="AutoConstantDefinition" WrapType="NativePtrValueType"/> <struct name="AutoConstantEntry" WrapType="NativePtrValueType"/> @@ -231,9 +238,16 @@ <class name="RenderSystem"> <class name="Listener" WrapType="NativeDirector"/> + <function name="_createRenderWindows" Ignore=""/> + <function name="_pauseFrame" Ignore=""/> + <function name="_resumeFrame" Ignore=""/> </class> <class name="CompositorManager"> <function name="createImpl" Ignore=""/> + <function name="registerCompositorLogic" Ignore=""/> + <function name="getCompositorLogic" Ignore=""/> + <function name="registerCustomCompositionPass" Ignore=""/> + <function name="getCustomCompositionPass" Ignore=""/> </class> <class name="Image" WrapType="CLRHandle"> <function name="loadDynamicImage"> @@ -291,6 +305,9 @@ <class name="Root"> <!-- Root's MovableObjectFactoryMap is private --> <class name="MovableObjectFactoryIterator" Ignore=""/> + <function name="createRenderWindows" Ignore=""/> + <function name="getWorkQueue" Property="" Ignore="" /> + <function name="setWorkQueue" Property="" Ignore="" /> </class> <struct name="LinkedSkeletonAnimationSource" WrapType="NativePtrValueType" ReadOnly=""/> <class name="StaticGeometry"> @@ -331,6 +348,7 @@ <class name="Node"> <class name="Listener" WrapType="Interface"/> + <function name="getDebugRenderable" ignore="" /> </class> <class name="AxisAlignedBox" PureManagedClass=""/> @@ -350,6 +368,10 @@ <struct name="RenderTargetEvent" WrapType="NativePtrValueType" ReadOnly=""/> <struct name="RenderTargetViewportEvent" WrapType="NativePtrValueType" ReadOnly=""/> + <struct name="MovableObjectLodChangedEvent" WrapType="NativePtrValueType" ReadOnly=""/> + <struct name="EntityMeshLodChangedEvent" WrapType="NativePtrValueType" ReadOnly=""/> + <struct name="EntityMaterialLodChangedEvent" WrapType="NativePtrValueType" ReadOnly=""/> + <class name="RenderTarget"> <struct name="FrameStats" WrapType="ReadOnlyStruct" ReturnOnlyByMethod=""/> </class> @@ -378,8 +400,12 @@ <param name="freeOnClose" Ignore=""/> </function> </class> - <class name="ResourceManager" WrapType="PlainWrapper"/> + <class name="ResourceManager" WrapType="PlainWrapper"> + <function name="getResourcePool" Ignore=""/> + <function name="destroyResourcePool" Ignore=""/> + </class> + <class name="SceneQueryResult" WrapType="PlainWrapper"/> <class name="RaySceneQueryResultEntry" WrapType="PlainWrapper"/> <class name="IntersectionSceneQueryResult" WrapType="PlainWrapper"/> @@ -435,6 +461,7 @@ <class name="Pass" WrapType="CLRHandle"> <function name="setHashFunction" Ignore="" /> <function name="getHashFunction" Ignore="" /> + <function name="getBuiltinHashFunction" Ignore="" /> </class> <class name="CompositionTargetPass" WrapType="CLRHandle"/> <class name="CompositionPass" WrapType="CLRHandle"> @@ -476,6 +503,7 @@ <class name="SceneNode"> <function name="showBoundingBox" Rename="setShowBoundingBox"/> + <function name="getDebugRenderable" property="" ignore="" /> </class> <class name="RenderQueueInvocationSequence"> <function name="iterator" Rename="getIterator"/> @@ -550,6 +578,13 @@ <function name="getName" Cached=""/> <function name="getRenderQueue" Cached=""/> <function name="showBoundingBoxes" Rename="setShowBoundingBoxes"/> + <function name="_pauseRendering" Ignore=""/> + <function name="_resumeRendering" Ignore=""/> + + <!-- Can't find Const_*List --> + <function name="getCameras" Ignore=""/> + <function name="getAnimations" Ignore=""/> + <class name="Listener" WrapType="Interface" /> </class> @@ -565,7 +600,10 @@ <class name="CompositorInstance"> <class name="Listener" WrapType="NativeDirector"/> </class> - + <class name="MaterialSerializer"> + <function name="addListener" Ignore="" /> + <function name="removeListener" Ignore="" /> + </class> <class name="Camera"> <function name="forwardIntersect"> <_CustomIncDeclaration> @@ -580,6 +618,8 @@ } </_CustomCppDeclaration> </function> + <function name="addListener" Ignore="" /> + <function name="removeListener" Ignore="" /> </class> <class name="PixelUtil" WrapType="PlainWrapper"> @@ -609,6 +649,19 @@ } </_CustomCppDeclaration> </function> + <function name="getBitShifts"> + <_CustomIncDeclaration> + static void GetBitShifts( Mogre::PixelFormat format, [Out] array<unsigned char>^% rgba ); + </_CustomIncDeclaration> + <_CustomCppDeclaration> + void PixelUtil::GetBitShifts( Mogre::PixelFormat format, array<unsigned char>^% rgba ) + { + rgba = gcnew array<unsigned char>(4); + pin_ptr<unsigned char> ptr = &rgba[0]; + Ogre::PixelUtil::getBitShifts( (Ogre::PixelFormat)format, ptr ); + } + </_CustomCppDeclaration> + </function> </class> <class name="MeshManager"> @@ -629,6 +682,10 @@ </_CustomCppDeclaration> </class> + <class name="LodStrategyManager"> + <function name="getIterator" Property="" Ignore="" /> + </class> + <class name="SceneManager"> <_CustomIncDeclaration> public: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mog...@li...> - 2010-04-13 04:28:56
|
Revision: 306 http://mogre.svn.sourceforge.net/mogre/?rev=306&view=rev Author: mzanin Date: 2010-04-13 04:28:45 +0000 (Tue, 13 Apr 2010) Log Message: ----------- Added Mogre17.cs Modified Paths: -------------- trunk/Mogre/AutoWrap/AutoWrap.csproj Modified: trunk/Mogre/AutoWrap/AutoWrap.csproj =================================================================== --- trunk/Mogre/AutoWrap/AutoWrap.csproj 2010-04-13 04:25:52 UTC (rev 305) +++ trunk/Mogre/AutoWrap/AutoWrap.csproj 2010-04-13 04:28:45 UTC (rev 306) @@ -57,6 +57,7 @@ <Compile Include="Meta\IncPlainWrapperClassProducer.cs" /> <Compile Include="Meta\CppCLRHandleClassProducer.cs" /> <Compile Include="Meta\IncCLRHandleClassProducer.cs" /> + <Compile Include="Meta\Mogre17.cs" /> <Compile Include="Meta\NativeProtectedTypesProxy.cs" /> <Compile Include="Meta\CppNativeProtectedTypesProxy.cs" /> <Compile Include="Meta\CppOverridableClassProducer.cs" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mog...@li...> - 2010-04-13 04:25:58
|
Revision: 305 http://mogre.svn.sourceforge.net/mogre/?rev=305&view=rev Author: mzanin Date: 2010-04-13 04:25:52 +0000 (Tue, 13 Apr 2010) Log Message: ----------- Added Mogre17.cs Added Paths: ----------- trunk/Mogre/AutoWrap/Meta/Mogre17.cs Added: trunk/Mogre/AutoWrap/Meta/Mogre17.cs =================================================================== --- trunk/Mogre/AutoWrap/Meta/Mogre17.cs (rev 0) +++ trunk/Mogre/AutoWrap/Meta/Mogre17.cs 2010-04-13 04:25:52 UTC (rev 305) @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; + +namespace AutoWrap.Meta +{ + internal class Mogre17 + { + public static string GetBaseType(DefTypeDef typedef) + { + string baseTypeName = typedef.BaseTypeName; + + if (string.IsNullOrEmpty(baseTypeName)) + { + return baseTypeName; + } + + int charPos = baseTypeName.IndexOf("<"); + string ogreTypeDef = charPos == -1 ? baseTypeName : baseTypeName.Substring(0, charPos); + + if (IsStdCollection(ogreTypeDef)) + { + return "std::" + ogreTypeDef; + } + + if (ogreTypeDef.Equals("HashedVector", StringComparison.Ordinal)) + { + return ogreTypeDef; + } + + return baseTypeName; + } + + private static readonly IEnumerable<string> s_StdHacks = new[] + { + "vector", "set", "deque", "list", "map", "multimap", "hash_map", "pair" + }; + + public static bool IsStdCollection(string baseTypeName) + { + foreach (var thing in s_StdHacks) + { + if (baseTypeName.Equals(thing, StringComparison.Ordinal)) + { + return true; + } + } + + return false; + } + + public static bool IsCollection(string baseTypeName) + { + return IsStdCollection(baseTypeName) || + baseTypeName.Equals("HashedVector", StringComparison.Ordinal); + } + } +} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mog...@li...> - 2010-04-13 04:19:55
|
Revision: 304 http://mogre.svn.sourceforge.net/mogre/?rev=304&view=rev Author: mzanin Date: 2010-04-13 04:19:49 +0000 (Tue, 13 Apr 2010) Log Message: ----------- Fixed input.xslt to deal with new HashedVector and removed usages of std:: where necessary Modified Paths: -------------- trunk/Mogre/cpp2java/xslt/input.xslt Modified: trunk/Mogre/cpp2java/xslt/input.xslt =================================================================== --- trunk/Mogre/cpp2java/xslt/input.xslt 2010-03-31 16:26:27 UTC (rev 303) +++ trunk/Mogre/cpp2java/xslt/input.xslt 2010-04-13 04:19:49 UTC (rev 304) @@ -320,7 +320,7 @@ <xsl:attribute name="includeFile" select="substring-after(location/@file,'/OgreMain/include/')"/> <xsl:choose> - <xsl:when test="contains(type,'std::') or contains(type,',')"> + <xsl:when test="contains(type,'std::') or contains(type,',') or contains(type,'::type') or contains(type, 'HashedVector')"> <xsl:attribute name="basetype" select="substring-before(type,'<')"/> <xsl:variable name="basetype" select="substring-before(type,'<')"/> <xsl:if test="contains($basetype,'
')"> @@ -700,10 +700,13 @@ <!-- PIPAAAA --> <!-- implement custom ogre container (vector replace std::vector) --> - <xsl:if test="contains(type,'vector')"> - <xsl:attribute name="container" select="'vector'"/> - </xsl:if> - <xsl:if test="contains(type,'list')"> + <xsl:if test="contains(type,'vector')"> + <xsl:attribute name="container" select="'vector'"/> + </xsl:if> + <xsl:if test="contains(type,'HashedVector')"> + <xsl:attribute name="container" select="'HashedVector'"/> + </xsl:if> + <xsl:if test="contains(type,'list')"> <xsl:attribute name="container" select="'list'"/> </xsl:if> <xsl:if test="contains(type,'map')"> @@ -743,6 +746,9 @@ <xsl:when test="contains($type,'vector')"> <xsl:value-of select="normalize-space(substring-after($type,'vector'))"/> </xsl:when> + <xsl:when test="contains($type,'HashedVector')"> + <xsl:value-of select="normalize-space(substring-after($type,'HashedVector'))"/> + </xsl:when> <xsl:when test="contains($type,'list')"> <xsl:value-of select="normalize-space(substring-after($type,'list'))"/> </xsl:when> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mog...@li...> - 2010-03-31 16:26:33
|
Revision: 303 http://mogre.svn.sourceforge.net/mogre/?rev=303&view=rev Author: realgantz Date: 2010-03-31 16:26:27 +0000 (Wed, 31 Mar 2010) Log Message: ----------- Added Paths: ----------- branches/Mogre_designer_support/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mog...@li...> - 2010-03-31 16:25:37
|
Revision: 302 http://mogre.svn.sourceforge.net/mogre/?rev=302&view=rev Author: realgantz Date: 2010-03-31 16:25:30 +0000 (Wed, 31 Mar 2010) Log Message: ----------- Removed Paths: ------------- branches/Mogre_designer_support/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mog...@li...> - 2010-03-31 16:24:16
|
Revision: 301 http://mogre.svn.sourceforge.net/mogre/?rev=301&view=rev Author: realgantz Date: 2010-03-31 16:24:09 +0000 (Wed, 31 Mar 2010) Log Message: ----------- Added Paths: ----------- branches/Mogre_designer_support/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mog...@li...> - 2010-03-01 21:18:09
|
Revision: 300 http://mogre.svn.sourceforge.net/mogre/?rev=300&view=rev Author: realgantz Date: 2010-03-01 21:18:03 +0000 (Mon, 01 Mar 2010) Log Message: ----------- -> update patch to revision 9851 Revision Links: -------------- http://mogre.svn.sourceforge.net/mogre/?rev=9851&view=rev Modified Paths: -------------- trunk/Mogre/Ogre Patches/CLRObjects.patch Modified: trunk/Mogre/Ogre Patches/CLRObjects.patch =================================================================== --- trunk/Mogre/Ogre Patches/CLRObjects.patch 2010-02-28 19:47:07 UTC (rev 299) +++ trunk/Mogre/Ogre Patches/CLRObjects.patch 2010-03-01 21:18:03 UTC (rev 300) @@ -1,6 +1,6 @@ Index: OgreMain/include/OgreAnimable.h =================================================================== ---- OgreMain/include/OgreAnimable.h (revision 9761) +--- OgreMain/include/OgreAnimable.h (revision 9851) +++ 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 +17,7 @@ { Index: OgreMain/include/OgreAnimation.h =================================================================== ---- OgreMain/include/OgreAnimation.h (revision 9761) +--- OgreMain/include/OgreAnimation.h (revision 9851) +++ 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,9 +35,9 @@ { Index: OgreMain/include/OgreAnimationState.h =================================================================== ---- OgreMain/include/OgreAnimationState.h (revision 9761) +--- OgreMain/include/OgreAnimationState.h (revision 9851) +++ OgreMain/include/OgreAnimationState.h (working copy) -@@ -49,10 +49,11 @@ +@@ -49,13 +49,13 @@ Other classes can hold instances of this class to store the state of any animations they are using. */ @@ -50,8 +50,11 @@ + /// typedef for an array of float values used as a bone blend mask typedef vector<float>::type BoneBlendMask; - -@@ -183,6 +184,7 @@ +- + /// Normal constructor with all params supplied + AnimationState(const String& animName, AnimationStateSet *parent, + Real timePos, Real length, Real weight = 1.0, bool enabled = false); +@@ -183,6 +183,7 @@ class _OgreExport AnimationStateSet : public AnimationAlloc { public: @@ -61,7 +64,7 @@ /// Create a blank animation state set Index: OgreMain/include/OgreAnimationTrack.h =================================================================== ---- OgreMain/include/OgreAnimationTrack.h (revision 9761) +--- OgreMain/include/OgreAnimationTrack.h (revision 9851) +++ OgreMain/include/OgreAnimationTrack.h (working copy) @@ -48,6 +48,9 @@ */ @@ -114,7 +117,7 @@ { Index: OgreMain/include/OgreArchive.h =================================================================== ---- OgreMain/include/OgreArchive.h (revision 9761) +--- OgreMain/include/OgreArchive.h (revision 9851) +++ OgreMain/include/OgreArchive.h (working copy) @@ -84,8 +84,11 @@ to benefit from OGRE's automatic searching of multiple file locations @@ -140,7 +143,7 @@ Archive( const String& name, const String& archType ) Index: OgreMain/include/OgreBillboard.h =================================================================== ---- OgreMain/include/OgreBillboard.h (revision 9761) +--- OgreMain/include/OgreBillboard.h (revision 9851) +++ OgreMain/include/OgreBillboard.h (working copy) @@ -65,6 +65,9 @@ @@ -154,7 +157,7 @@ protected: Index: OgreMain/include/OgreBillboardChain.h =================================================================== ---- OgreMain/include/OgreBillboardChain.h (revision 9761) +--- OgreMain/include/OgreBillboardChain.h (revision 9851) +++ OgreMain/include/OgreBillboardChain.h (working copy) @@ -77,7 +77,8 @@ { @@ -178,7 +181,7 @@ public: Index: OgreMain/include/OgreBillboardParticleRenderer.h =================================================================== ---- OgreMain/include/OgreBillboardParticleRenderer.h (revision 9761) +--- OgreMain/include/OgreBillboardParticleRenderer.h (revision 9851) +++ OgreMain/include/OgreBillboardParticleRenderer.h (working copy) @@ -50,6 +50,9 @@ */ @@ -192,7 +195,7 @@ BillboardSet* mBillboardSet; Index: OgreMain/include/OgreBillboardSet.h =================================================================== ---- OgreMain/include/OgreBillboardSet.h (revision 9761) +--- OgreMain/include/OgreBillboardSet.h (revision 9851) +++ OgreMain/include/OgreBillboardSet.h (working copy) @@ -108,6 +108,9 @@ */ @@ -216,7 +219,7 @@ public: Index: OgreMain/include/OgreBone.h =================================================================== ---- OgreMain/include/OgreBone.h (revision 9761) +--- OgreMain/include/OgreBone.h (revision 9851) +++ OgreMain/include/OgreBone.h (working copy) @@ -51,6 +51,8 @@ class _OgreExport Bone : public Node @@ -229,7 +232,7 @@ /** Constructor, not to be used directly (use Bone::createChild or Skeleton::createBone) */ Index: OgreMain/include/OgreBorderPanelOverlayElement.h =================================================================== ---- OgreMain/include/OgreBorderPanelOverlayElement.h (revision 9761) +--- OgreMain/include/OgreBorderPanelOverlayElement.h (revision 9851) +++ OgreMain/include/OgreBorderPanelOverlayElement.h (working copy) @@ -56,6 +56,9 @@ */ @@ -255,7 +258,7 @@ public: Index: OgreMain/include/OgreCamera.h =================================================================== ---- OgreMain/include/OgreCamera.h (revision 9761) +--- OgreMain/include/OgreCamera.h (revision 9851) +++ OgreMain/include/OgreCamera.h (working copy) @@ -85,6 +85,8 @@ class _OgreExport Camera : public Frustum @@ -268,7 +271,7 @@ class _OgreExport Listener Index: OgreMain/include/OgreCodec.h =================================================================== ---- OgreMain/include/OgreCodec.h (revision 9761) +--- OgreMain/include/OgreCodec.h (revision 9851) +++ OgreMain/include/OgreCodec.h (working copy) @@ -52,8 +52,10 @@ The codec concept is a pretty generic one - you can easily understand @@ -297,7 +300,7 @@ /** Returns the type of the data. Index: OgreMain/include/OgreCompositionPass.h =================================================================== ---- OgreMain/include/OgreCompositionPass.h (revision 9761) +--- OgreMain/include/OgreCompositionPass.h (revision 9851) +++ OgreMain/include/OgreCompositionPass.h (working copy) @@ -46,6 +46,8 @@ class _OgreExport CompositionPass : public CompositorInstAlloc @@ -319,7 +322,7 @@ /// MRT surface index if applicable Index: OgreMain/include/OgreCompositionTargetPass.h =================================================================== ---- OgreMain/include/OgreCompositionTargetPass.h (revision 9761) +--- OgreMain/include/OgreCompositionTargetPass.h (revision 9851) +++ OgreMain/include/OgreCompositionTargetPass.h (working copy) @@ -44,6 +44,8 @@ class _OgreExport CompositionTargetPass : public CompositorInstAlloc @@ -332,7 +335,7 @@ Index: OgreMain/include/OgreCompositionTechnique.h =================================================================== ---- OgreMain/include/OgreCompositionTechnique.h (revision 9761) +--- OgreMain/include/OgreCompositionTechnique.h (revision 9851) +++ OgreMain/include/OgreCompositionTechnique.h (working copy) @@ -41,9 +41,11 @@ */ @@ -349,7 +352,7 @@ Index: OgreMain/include/OgreCompositor.h =================================================================== ---- OgreMain/include/OgreCompositor.h (revision 9761) +--- OgreMain/include/OgreCompositor.h (revision 9851) +++ OgreMain/include/OgreCompositor.h (working copy) @@ -49,6 +49,8 @@ class _OgreExport Compositor: public Resource @@ -362,7 +365,7 @@ ~Compositor(); Index: OgreMain/include/OgreCompositorChain.h =================================================================== ---- OgreMain/include/OgreCompositorChain.h (revision 9761) +--- OgreMain/include/OgreCompositorChain.h (revision 9851) +++ OgreMain/include/OgreCompositorChain.h (working copy) @@ -43,9 +43,11 @@ */ @@ -379,7 +382,7 @@ to delete an object. Index: OgreMain/include/OgreCompositorInstance.h =================================================================== ---- OgreMain/include/OgreCompositorInstance.h (revision 9761) +--- OgreMain/include/OgreCompositorInstance.h (revision 9851) +++ 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 @@ -394,16 +397,35 @@ CompositorInstance(CompositionTechnique *technique, CompositorChain *chain); virtual ~CompositorInstance(); /** 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 (working copy) +@@ -92,18 +92,6 @@ + # define OGRE_MEMORY_ALLOCATOR OGRE_MEMORY_ALLOCATOR_NEDPOOLING + #endif + +-// Whether to use the custom memory allocator in STL containers +-#ifndef OGRE_CONTAINERS_USE_CUSTOM_MEMORY_ALLOCATOR +-# define OGRE_CONTAINERS_USE_CUSTOM_MEMORY_ALLOCATOR 1 +-#endif +- +-//if you want to make Ogre::String use the custom memory allocator then set: +-//#define OGRE_STRING_USE_CUSTOM_MEMORY_ALLOCATOR 1 +-// Doing this will mean Ogre's strings will not be compatible with std::string however +-#ifndef OGRE_STRING_USE_CUSTOM_MEMORY_ALLOCATOR +-# define OGRE_STRING_USE_CUSTOM_MEMORY_ALLOCATOR 0 +-#endif +- + // 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/OgreEdgeListBuilder.h =================================================================== ---- OgreMain/include/OgreEdgeListBuilder.h (revision 9761) +--- OgreMain/include/OgreEdgeListBuilder.h (revision 9851) +++ OgreMain/include/OgreEdgeListBuilder.h (working copy) -@@ -48,9 +48,11 @@ - This information is built using the EdgeListBuilder class. Note that for a given mesh, - which can be made up of multiple submeshes, there are separate edge lists for when - */ -- class _OgreExport EdgeData : public EdgeDataAlloc -+ class _OgreExport EdgeData : public EdgeDataAlloc, +@@ -51,6 +51,8 @@ + class _OgreExport EdgeData : public EdgeDataAlloc { public: + DECLARE_CLRHANDLE; @@ -413,7 +435,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 9761) +--- OgreMain/include/OgreEntity.h (revision 9851) +++ OgreMain/include/OgreEntity.h (working copy) @@ -80,6 +80,9 @@ */ @@ -425,7 +447,7 @@ // Allow EntityFactory full access friend class EntityFactory; friend class SubEntity; -@@ -782,6 +785,9 @@ +@@ -785,6 +788,9 @@ /** Factory object for creating Entity instances */ class _OgreExport EntityFactory : public MovableObjectFactory { @@ -435,9 +457,35 @@ protected: MovableObject* createInstanceImpl( const String& name, const NameValuePairList* params); public: +Index: OgreMain/include/OgreException.h +=================================================================== +--- OgreMain/include/OgreException.h (revision 9851) ++++ OgreMain/include/OgreException.h (working copy) +@@ -151,7 +151,7 @@ + + /** Gets the error code. + */ +- virtual int getNumber(void) const throw(); ++ virtual ExceptionCodes getNumber(void) const throw(); + + /** Gets the source function. + */ +@@ -173,6 +173,12 @@ + + /// Override std::exception::what + const char* what() const throw() { return getFullDescription().c_str(); } ++ ++ //Additions for Mogre ++ /** Retrieves a pointer to the last exception created. ++ */ ++ static Exception* getLastException() throw(); ++ static void clearLastException() throw(); + + }; + Index: OgreMain/include/OgreExternalTextureSource.h =================================================================== ---- OgreMain/include/OgreExternalTextureSource.h (revision 9761) +--- OgreMain/include/OgreExternalTextureSource.h (revision 9851) +++ OgreMain/include/OgreExternalTextureSource.h (working copy) @@ -70,9 +70,11 @@ before calling create defined texture... or it will fail, though, it @@ -454,7 +502,7 @@ /** Virtual destructor */ Index: OgreMain/include/OgreFileSystem.h =================================================================== ---- OgreMain/include/OgreFileSystem.h (revision 9761) +--- OgreMain/include/OgreFileSystem.h (revision 9851) +++ OgreMain/include/OgreFileSystem.h (working copy) @@ -46,6 +46,9 @@ */ @@ -468,7 +516,7 @@ @param pattern File pattern Index: OgreMain/include/OgreFont.h =================================================================== ---- OgreMain/include/OgreFont.h (revision 9761) +--- OgreMain/include/OgreFont.h (revision 9851) +++ OgreMain/include/OgreFont.h (working copy) @@ -66,6 +66,9 @@ */ @@ -482,7 +530,7 @@ class _OgreExport CmdType : public ParamCommand Index: OgreMain/include/OgreFrustum.h =================================================================== ---- OgreMain/include/OgreFrustum.h (revision 9761) +--- OgreMain/include/OgreFrustum.h (revision 9851) +++ OgreMain/include/OgreFrustum.h (working copy) @@ -83,6 +83,9 @@ */ @@ -496,7 +544,7 @@ ProjectionType mProjType; Index: OgreMain/include/OgreGpuProgram.h =================================================================== ---- OgreMain/include/OgreGpuProgram.h (revision 9761) +--- OgreMain/include/OgreGpuProgram.h (revision 9851) +++ OgreMain/include/OgreGpuProgram.h (working copy) @@ -68,6 +68,9 @@ */ @@ -510,7 +558,7 @@ class _OgreExport CmdType : public ParamCommand Index: OgreMain/include/OgreGpuProgramParams.h =================================================================== ---- OgreMain/include/OgreGpuProgramParams.h (revision 9761) +--- OgreMain/include/OgreGpuProgramParams.h (revision 9851) +++ OgreMain/include/OgreGpuProgramParams.h (working copy) @@ -386,6 +386,9 @@ */ @@ -543,7 +591,7 @@ */ Index: OgreMain/include/OgreHardwareBuffer.h =================================================================== ---- OgreMain/include/OgreHardwareBuffer.h (revision 9761) +--- OgreMain/include/OgreHardwareBuffer.h (revision 9851) +++ OgreMain/include/OgreHardwareBuffer.h (working copy) @@ -70,10 +70,12 @@ You should look for the 'useShadowBuffer' parameter on the creation methods used to create @@ -561,7 +609,7 @@ { Index: OgreMain/include/OgreHardwareIndexBuffer.h =================================================================== ---- OgreMain/include/OgreHardwareIndexBuffer.h (revision 9761) +--- OgreMain/include/OgreHardwareIndexBuffer.h (revision 9851) +++ OgreMain/include/OgreHardwareIndexBuffer.h (working copy) @@ -46,6 +46,8 @@ class _OgreExport HardwareIndexBuffer : public HardwareBuffer @@ -574,7 +622,7 @@ IT_32BIT Index: OgreMain/include/OgreHardwareOcclusionQuery.h =================================================================== ---- OgreMain/include/OgreHardwareOcclusionQuery.h (revision 9761) +--- OgreMain/include/OgreHardwareOcclusionQuery.h (revision 9851) +++ OgreMain/include/OgreHardwareOcclusionQuery.h (working copy) @@ -48,12 +48,13 @@ * @author Lee Sandberg @@ -593,7 +641,7 @@ */ Index: OgreMain/include/OgreHardwarePixelBuffer.h =================================================================== ---- OgreMain/include/OgreHardwarePixelBuffer.h (revision 9761) +--- OgreMain/include/OgreHardwarePixelBuffer.h (revision 9851) +++ OgreMain/include/OgreHardwarePixelBuffer.h (working copy) @@ -51,6 +51,9 @@ */ @@ -607,7 +655,7 @@ size_t mWidth, mHeight, mDepth; Index: OgreMain/include/OgreHardwareVertexBuffer.h =================================================================== ---- OgreMain/include/OgreHardwareVertexBuffer.h (revision 9761) +--- OgreMain/include/OgreHardwareVertexBuffer.h (revision 9851) +++ OgreMain/include/OgreHardwareVertexBuffer.h (working copy) @@ -46,6 +46,9 @@ /** Specialisation of HardwareBuffer for a vertex buffer. */ @@ -619,7 +667,7 @@ protected: HardwareBufferManagerBase* mMgr; -@@ -300,9 +303,11 @@ +@@ -302,9 +305,11 @@ Like the other classes in this functional area, these declarations should be created and destroyed using the HardwareBufferManager. */ @@ -632,7 +680,7 @@ /// Defines the list of vertex elements that makes up this declaration typedef list<VertexElement>::type VertexElementList; /// Sort routine for vertex elements -@@ -478,9 +483,11 @@ +@@ -480,9 +485,11 @@ Like the other classes in this functional area, these binding maps should be created and destroyed using the HardwareBufferManager. */ @@ -647,7 +695,7 @@ protected: Index: OgreMain/include/OgreHighLevelGpuProgram.h =================================================================== ---- OgreMain/include/OgreHighLevelGpuProgram.h (revision 9761) +--- OgreMain/include/OgreHighLevelGpuProgram.h (revision 9851) +++ OgreMain/include/OgreHighLevelGpuProgram.h (working copy) @@ -62,6 +62,9 @@ */ @@ -661,7 +709,7 @@ bool mHighLevelLoaded; Index: OgreMain/include/OgreImage.h =================================================================== ---- OgreMain/include/OgreImage.h (revision 9761) +--- OgreMain/include/OgreImage.h (revision 9851) +++ OgreMain/include/OgreImage.h (working copy) @@ -61,6 +61,8 @@ class _OgreExport Image : public ImageAlloc @@ -674,7 +722,7 @@ public: Index: OgreMain/include/OgreImageCodec.h =================================================================== ---- OgreMain/include/OgreImageCodec.h (revision 9761) +--- OgreMain/include/OgreImageCodec.h (revision 9851) +++ OgreMain/include/OgreImageCodec.h (working copy) @@ -47,12 +47,16 @@ class _OgreExport ImageCodec : public Codec @@ -695,7 +743,7 @@ num_mipmaps(0), flags(0), format(PF_UNKNOWN) Index: OgreMain/include/OgreInstancedGeometry.h =================================================================== ---- OgreMain/include/OgreInstancedGeometry.h (revision 9761) +--- OgreMain/include/OgreInstancedGeometry.h (revision 9851) +++ OgreMain/include/OgreInstancedGeometry.h (working copy) @@ -101,9 +101,11 @@ @note @@ -722,7 +770,7 @@ enum TransformSpace Index: OgreMain/include/OgreKeyFrame.h =================================================================== ---- OgreMain/include/OgreKeyFrame.h (revision 9761) +--- OgreMain/include/OgreKeyFrame.h (revision 9851) +++ OgreMain/include/OgreKeyFrame.h (working copy) @@ -52,9 +52,10 @@ animation sequence, with the exact state of the animation being an @@ -774,7 +822,7 @@ ~VertexPoseKeyFrame() {} Index: OgreMain/include/OgreLight.h =================================================================== ---- OgreMain/include/OgreLight.h (revision 9761) +--- OgreMain/include/OgreLight.h (revision 9851) +++ OgreMain/include/OgreLight.h (working copy) @@ -72,6 +72,8 @@ class _OgreExport Light : public MovableObject @@ -797,7 +845,7 @@ public: Index: OgreMain/include/OgreLog.h =================================================================== ---- OgreMain/include/OgreLog.h (revision 9761) +--- OgreMain/include/OgreLog.h (revision 9851) +++ OgreMain/include/OgreLog.h (working copy) @@ -91,6 +91,9 @@ */ @@ -821,7 +869,7 @@ LogMessageLevel mLevel; Index: OgreMain/include/OgreManualObject.h =================================================================== ---- OgreMain/include/OgreManualObject.h (revision 9761) +--- OgreMain/include/OgreManualObject.h (revision 9851) +++ OgreMain/include/OgreManualObject.h (working copy) @@ -106,6 +106,8 @@ class _OgreExport ManualObject : public MovableObject @@ -867,7 +915,7 @@ public: Index: OgreMain/include/OgreMaterial.h =================================================================== ---- OgreMain/include/OgreMaterial.h (revision 9761) +--- OgreMain/include/OgreMaterial.h (revision 9851) +++ OgreMain/include/OgreMaterial.h (working copy) @@ -87,6 +87,9 @@ */ @@ -881,7 +929,7 @@ Index: OgreMain/include/OgreMesh.h =================================================================== ---- OgreMain/include/OgreMesh.h (revision 9761) +--- OgreMain/include/OgreMesh.h (revision 9851) +++ OgreMain/include/OgreMesh.h (working copy) @@ -90,6 +90,9 @@ @@ -895,7 +943,7 @@ friend class MeshSerializerImpl_v1_4; Index: OgreMain/include/OgreMeshSerializer.h =================================================================== ---- OgreMain/include/OgreMeshSerializer.h (revision 9761) +--- OgreMain/include/OgreMeshSerializer.h (revision 9851) +++ OgreMain/include/OgreMeshSerializer.h (working copy) @@ -69,6 +69,8 @@ class _OgreExport MeshSerializer : public Serializer @@ -908,7 +956,7 @@ Index: OgreMain/include/OgreMovableObject.h =================================================================== ---- OgreMain/include/OgreMovableObject.h (revision 9761) +--- OgreMain/include/OgreMovableObject.h (revision 9851) +++ OgreMain/include/OgreMovableObject.h (working copy) @@ -59,6 +59,8 @@ class _OgreExport MovableObject : public ShadowCaster, public AnimableObject, public MovableAlloc @@ -919,7 +967,7 @@ /** Listener which gets called back on MovableObject events. */ class _OgreExport Listener -@@ -535,8 +537,11 @@ +@@ -556,8 +558,11 @@ to allow all clients to produce new instances of this object, integrated with the standard Ogre processing. */ @@ -934,7 +982,7 @@ unsigned long mTypeFlag; Index: OgreMain/include/OgreMovablePlane.h =================================================================== ---- OgreMain/include/OgreMovablePlane.h (revision 9761) +--- OgreMain/include/OgreMovablePlane.h (revision 9851) +++ OgreMain/include/OgreMovablePlane.h (working copy) @@ -52,6 +52,9 @@ */ @@ -948,7 +996,7 @@ mutable Vector3 mLastTranslate; Index: OgreMain/include/OgreNode.h =================================================================== ---- OgreMain/include/OgreNode.h (revision 9761) +--- OgreMain/include/OgreNode.h (revision 9851) +++ OgreMain/include/OgreNode.h (working copy) @@ -59,9 +59,11 @@ This is an abstract class - concrete classes are based on this for specific purposes, @@ -965,7 +1013,7 @@ enum TransformSpace Index: OgreMain/include/OgreOverlay.h =================================================================== ---- OgreMain/include/OgreOverlay.h (revision 9761) +--- OgreMain/include/OgreOverlay.h (revision 9851) +++ 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 @@ -983,7 +1031,7 @@ String mName; Index: OgreMain/include/OgreOverlayContainer.h =================================================================== ---- OgreMain/include/OgreOverlayContainer.h (revision 9761) +--- OgreMain/include/OgreOverlayContainer.h (revision 9851) +++ OgreMain/include/OgreOverlayContainer.h (working copy) @@ -56,6 +56,8 @@ class _OgreExport OverlayContainer : public OverlayElement @@ -996,7 +1044,7 @@ typedef map<String, OverlayContainer*>::type ChildContainerMap; Index: OgreMain/include/OgreOverlayElement.h =================================================================== ---- OgreMain/include/OgreOverlayElement.h (revision 9761) +--- OgreMain/include/OgreOverlayElement.h (revision 9851) +++ OgreMain/include/OgreOverlayElement.h (working copy) @@ -106,9 +106,10 @@ Because this class is designed to be extensible, it subclasses from StringInterface @@ -1012,7 +1060,7 @@ // Command object for setting / getting parameters Index: OgreMain/include/OgreOverlayElementFactory.h =================================================================== ---- OgreMain/include/OgreOverlayElementFactory.h (revision 9761) +--- OgreMain/include/OgreOverlayElementFactory.h (revision 9851) +++ OgreMain/include/OgreOverlayElementFactory.h (working copy) @@ -54,9 +54,11 @@ Each OverlayElementFactory creates a single type of OverlayElement, @@ -1056,7 +1104,7 @@ { Index: OgreMain/include/OgrePanelOverlayElement.h =================================================================== ---- OgreMain/include/OgrePanelOverlayElement.h (revision 9761) +--- OgreMain/include/OgrePanelOverlayElement.h (revision 9851) +++ OgreMain/include/OgrePanelOverlayElement.h (working copy) @@ -58,6 +58,8 @@ class _OgreExport PanelOverlayElement : public OverlayContainer @@ -1069,7 +1117,7 @@ virtual ~PanelOverlayElement(); Index: OgreMain/include/OgreParticle.h =================================================================== ---- OgreMain/include/OgreParticle.h (revision 9761) +--- OgreMain/include/OgreParticle.h (revision 9851) +++ OgreMain/include/OgreParticle.h (working copy) @@ -59,6 +59,9 @@ /** Class representing a single particle instance. */ @@ -1083,7 +1131,7 @@ ParticleSystem* mParentSystem; Index: OgreMain/include/OgreParticleAffector.h =================================================================== ---- OgreMain/include/OgreParticleAffector.h (revision 9761) +--- OgreMain/include/OgreParticleAffector.h (revision 9851) +++ OgreMain/include/OgreParticleAffector.h (working copy) @@ -60,8 +60,11 @@ with literally infinite combinations of affector and affector types, and parameters within those @@ -1100,7 +1148,7 @@ String mType; Index: OgreMain/include/OgreParticleAffectorFactory.h =================================================================== ---- OgreMain/include/OgreParticleAffectorFactory.h (revision 9761) +--- OgreMain/include/OgreParticleAffectorFactory.h (revision 9851) +++ 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 @@ -1117,7 +1165,7 @@ public: Index: OgreMain/include/OgreParticleEmitter.h =================================================================== ---- OgreMain/include/OgreParticleEmitter.h (revision 9761) +--- OgreMain/include/OgreParticleEmitter.h (revision 9851) +++ OgreMain/include/OgreParticleEmitter.h (working copy) @@ -68,8 +68,11 @@ with literally infinite combinations of emitter and affector types, and paramters within those @@ -1134,7 +1182,7 @@ // Command object for setting / getting parameters Index: OgreMain/include/OgreParticleEmitterFactory.h =================================================================== ---- OgreMain/include/OgreParticleEmitterFactory.h (revision 9761) +--- OgreMain/include/OgreParticleEmitterFactory.h (revision 9851) +++ 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 @@ -1151,7 +1199,7 @@ public: Index: OgreMain/include/OgreParticleSystem.h =================================================================== ---- OgreMain/include/OgreParticleSystem.h (revision 9761) +--- OgreMain/include/OgreParticleSystem.h (revision 9851) +++ OgreMain/include/OgreParticleSystem.h (working copy) @@ -66,7 +66,8 @@ class _OgreExport ParticleSystem : public StringInterface, public MovableObject @@ -1165,7 +1213,7 @@ { Index: OgreMain/include/OgreParticleSystemManager.h =================================================================== ---- OgreMain/include/OgreParticleSystemManager.h (revision 9761) +--- OgreMain/include/OgreParticleSystemManager.h (revision 9851) +++ OgreMain/include/OgreParticleSystemManager.h (working copy) @@ -385,6 +385,9 @@ /** Factory object for creating ParticleSystem instances */ @@ -1179,7 +1227,7 @@ public: Index: OgreMain/include/OgreParticleSystemRenderer.h =================================================================== ---- OgreMain/include/OgreParticleSystemRenderer.h (revision 9761) +--- OgreMain/include/OgreParticleSystemRenderer.h (revision 9851) +++ OgreMain/include/OgreParticleSystemRenderer.h (working copy) @@ -46,9 +46,11 @@ /** Abstract class defining the interface required to be implemented @@ -1196,7 +1244,7 @@ /// Destructor Index: OgreMain/include/OgrePass.h =================================================================== ---- OgreMain/include/OgrePass.h (revision 9761) +--- OgreMain/include/OgrePass.h (revision 9851) +++ OgreMain/include/OgrePass.h (working copy) @@ -80,6 +80,8 @@ class _OgreExport Pass : public PassAlloc @@ -1209,7 +1257,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 9761) +--- OgreMain/include/OgrePatchMesh.h (revision 9851) +++ OgreMain/include/OgrePatchMesh.h (working copy) @@ -46,6 +46,9 @@ */ @@ -1223,7 +1271,7 @@ PatchSurface mSurface; Index: OgreMain/include/OgrePatchSurface.h =================================================================== ---- OgreMain/include/OgrePatchSurface.h (revision 9761) +--- OgreMain/include/OgrePatchSurface.h (revision 9851) +++ OgreMain/include/OgrePatchSurface.h (working copy) @@ -52,6 +52,8 @@ class _OgreExport PatchSurface : public PatchAlloc @@ -1236,7 +1284,7 @@ Index: OgreMain/include/OgrePlaneBoundedVolume.h =================================================================== ---- OgreMain/include/OgrePlaneBoundedVolume.h (revision 9761) +--- OgreMain/include/OgrePlaneBoundedVolume.h (revision 9851) +++ OgreMain/include/OgrePlaneBoundedVolume.h (working copy) @@ -48,6 +48,8 @@ class _OgreExport PlaneBoundedVolume @@ -1249,7 +1297,7 @@ PlaneList planes; Index: OgreMain/include/OgrePose.h =================================================================== ---- OgreMain/include/OgrePose.h (revision 9761) +--- OgreMain/include/OgrePose.h (revision 9851) +++ OgreMain/include/OgrePose.h (working copy) @@ -51,9 +51,11 @@ Pose instances can be referred to by keyframes in VertexAnimationTrack in @@ -1266,7 +1314,7 @@ dedicated at the submesh index + 1) Index: OgreMain/include/OgrePrerequisites.h =================================================================== ---- OgreMain/include/OgrePrerequisites.h (revision 9761) +--- OgreMain/include/OgrePrerequisites.h (revision 9851) +++ OgreMain/include/OgrePrerequisites.h (working copy) @@ -315,7 +315,10 @@ #include "OgreStdHeaders.h" @@ -1281,7 +1329,7 @@ #if OGRE_STRING_USE_CUSTOM_MEMORY_ALLOCATOR Index: OgreMain/include/OgreProgressiveMesh.h =================================================================== ---- OgreMain/include/OgreProgressiveMesh.h (revision 9761) +--- OgreMain/include/OgreProgressiveMesh.h (revision 9851) +++ OgreMain/include/OgreProgressiveMesh.h (working copy) @@ -61,10 +61,11 @@ NB the interface of this class will certainly change when compiled vertex buffers are @@ -1299,7 +1347,7 @@ { Index: OgreMain/include/OgreRectangle2D.h =================================================================== ---- OgreMain/include/OgreRectangle2D.h (revision 9761) +--- OgreMain/include/OgreRectangle2D.h (revision 9851) +++ OgreMain/include/OgreRectangle2D.h (working copy) @@ -48,6 +48,9 @@ */ @@ -1313,7 +1361,7 @@ */ Index: OgreMain/include/OgreRenderOperation.h =================================================================== ---- OgreMain/include/OgreRenderOperation.h (revision 9761) +--- OgreMain/include/OgreRenderOperation.h (revision 9851) +++ OgreMain/include/OgreRenderOperation.h (working copy) @@ -43,6 +43,8 @@ /** 'New' rendering operation using vertex buffers. */ @@ -1326,7 +1374,7 @@ /// A list of points, 1 vertex per point Index: OgreMain/include/OgreRenderQueue.h =================================================================== ---- OgreMain/include/OgreRenderQueue.h (revision 9761) +--- OgreMain/include/OgreRenderQueue.h (revision 9851) +++ OgreMain/include/OgreRenderQueue.h (working copy) @@ -89,9 +89,11 @@ backgrounds and overlays, and also could be used in the future for more @@ -1343,7 +1391,7 @@ typedef MapIterator<RenderQueueGroupMap> QueueGroupIterator; Index: OgreMain/include/OgreRenderQueueInvocation.h =================================================================== ---- OgreMain/include/OgreRenderQueueInvocation.h (revision 9761) +--- OgreMain/include/OgreRenderQueueInvocation.h (revision 9851) +++ OgreMain/include/OgreRenderQueueInvocation.h (working copy) @@ -63,8 +63,11 @@ them being rendered - for example special-case render queues and @@ -1373,7 +1421,7 @@ RenderQueueInvocationList mInvocations; Index: OgreMain/include/OgreRenderQueueSortingGrouping.h =================================================================== ---- OgreMain/include/OgreRenderQueueSortingGrouping.h (revision 9761) +--- OgreMain/include/OgreRenderQueueSortingGrouping.h (revision 9851) +++ OgreMain/include/OgreRenderQueueSortingGrouping.h (working copy) @@ -322,6 +322,9 @@ */ @@ -1396,7 +1444,7 @@ typedef ConstMapIterator<PriorityMap> ConstPriorityMapIterator; Index: OgreMain/include/OgreRenderSystem.h =================================================================== ---- OgreMain/include/OgreRenderSystem.h (revision 9761) +--- OgreMain/include/OgreRenderSystem.h (revision 9851) +++ OgreMain/include/OgreRenderSystem.h (working copy) @@ -118,9 +118,11 @@ @version @@ -1413,7 +1461,7 @@ RenderSystem(); Index: OgreMain/include/OgreRenderSystemCapabilities.h =================================================================== ---- OgreMain/include/OgreRenderSystemCapabilities.h (revision 9761) +--- OgreMain/include/OgreRenderSystemCapabilities.h (revision 9851) +++ OgreMain/include/OgreRenderSystemCapabilities.h (working copy) @@ -235,7 +235,8 @@ { @@ -1427,7 +1475,7 @@ /// This is used to build a database of RSC's Index: OgreMain/include/OgreRenderTarget.h =================================================================== ---- OgreMain/include/OgreRenderTarget.h (revision 9761) +--- OgreMain/include/OgreRenderTarget.h (revision 9851) +++ OgreMain/include/OgreRenderTarget.h (working copy) @@ -61,9 +61,11 @@ @version @@ -1444,7 +1492,7 @@ SF_NONE = 0, Index: OgreMain/include/OgreRenderTexture.h =================================================================== ---- OgreMain/include/OgreRenderTexture.h (revision 9761) +--- OgreMain/include/OgreRenderTexture.h (revision 9851) +++ OgreMain/include/OgreRenderTexture.h (working copy) @@ -48,6 +48,8 @@ class _OgreExport RenderTexture: public RenderTarget @@ -1466,7 +1514,7 @@ /** Bind a surface to a certain attachment point. Index: OgreMain/include/OgreRenderToVertexBuffer.h =================================================================== ---- OgreMain/include/OgreRenderToVertexBuffer.h (revision 9761) +--- OgreMain/include/OgreRenderToVertexBuffer.h (revision 9851) +++ OgreMain/include/OgreRenderToVertexBuffer.h (working copy) @@ -48,9 +48,11 @@ that run on previous results of those shaders, creating stateful @@ -1483,7 +1531,7 @@ /** D'tor */ Index: OgreMain/include/OgreRenderWindow.h =================================================================== ---- OgreMain/include/OgreRenderWindow.h (revision 9761) +--- OgreMain/include/OgreRenderWindow.h (revision 9851) +++ OgreMain/include/OgreRenderWindow.h (working copy) @@ -63,6 +63,8 @@ { @@ -1496,7 +1544,7 @@ RenderWindow(); Index: OgreMain/include/OgreResource.h =================================================================== ---- OgreMain/include/OgreResource.h (revision 9761) +--- OgreMain/include/OgreResource.h (revision 9851) +++ OgreMain/include/OgreResource.h (working copy) @@ -74,9 +74,11 @@ through a generic interface.</li> @@ -1513,7 +1561,7 @@ { Index: OgreMain/include/OgreResourceBackgroundQueue.h =================================================================== ---- OgreMain/include/OgreResourceBackgroundQueue.h (revision 9761) +--- OgreMain/include/OgreResourceBackgroundQueue.h (revision 9851) +++ OgreMain/include/OgreResourceBackgroundQueue.h (working copy) @@ -49,6 +49,8 @@ /** Encapsulates the result of a background queue request */ @@ -1526,7 +1574,7 @@ /// Any messages from the process Index: OgreMain/include/OgreRibbonTrail.h =================================================================== ---- OgreMain/include/OgreRibbonTrail.h (revision 9761) +--- OgreMain/include/OgreRibbonTrail.h (revision 9851) +++ OgreMain/include/OgreRibbonTrail.h (working copy) @@ -70,6 +70,8 @@ class _OgreExport RibbonTrail : public BillboardChain, public Node::Listener @@ -1549,7 +1597,7 @@ public: Index: OgreMain/include/OgreRotationalSpline.h =================================================================== ---- OgreMain/include/OgreRotationalSpline.h (revision 9761) +--- OgreMain/include/OgreRotationalSpline.h (revision 9851) +++ OgreMain/include/OgreRotationalSpline.h (working copy) @@ -57,6 +57,8 @@ class _OgreExport RotationalSpline @@ -1562,7 +1610,7 @@ Index: OgreMain/include/OgreSceneManager.h =================================================================== ---- OgreMain/include/OgreSceneManager.h (revision 9761) +--- OgreMain/include/OgreSceneManager.h (revision 9851) +++ OgreMain/include/OgreSceneManager.h (working copy) @@ -136,9 +136,11 @@ dependent on the Camera, which will always call back the SceneManager @@ -1592,7 +1640,7 @@ mutable bool mMetaDataInit; Index: OgreMain/include/OgreSceneManagerEnumerator.h =================================================================== ---- OgreMain/include/OgreSceneManagerEnumerator.h (revision 9761) +--- OgreMain/include/OgreSceneManagerEnumerator.h (revision 9851) +++ OgreMain/include/OgreSceneManagerEnumerator.h (working copy) @@ -45,6 +45,9 @@ /// Factory for default scene manager @@ -1606,7 +1654,7 @@ public: Index: OgreMain/include/OgreSceneNode.h =================================================================== ---- OgreMain/include/OgreSceneNode.h (revision 9761) +--- OgreMain/include/OgreSceneNode.h (revision 9851) +++ OgreMain/include/OgreSceneNode.h (working copy) @@ -57,6 +57,8 @@ class _OgreExport SceneNode : public Node @@ -1619,7 +1667,7 @@ typedef ConstMapIterator<ObjectMap> ConstObjectIterator; Index: OgreMain/include/OgreSceneQuery.h =================================================================== ---- OgreMain/include/OgreSceneQuery.h (revision 9761) +--- OgreMain/include/OgreSceneQuery.h (revision 9851) +++ OgreMain/include/OgreSceneQuery.h (working copy) @@ -70,9 +70,11 @@ using the SceneManager interfaces for the type of query required, e.g. @@ -1696,7 +1744,7 @@ public: Index: OgreMain/include/OgreSerializer.h =================================================================== ---- OgreMain/include/OgreSerializer.h (revision 9761) +--- OgreMain/include/OgreSerializer.h (revision 9851) +++ OgreMain/include/OgreSerializer.h (working copy) @@ -46,9 +46,11 @@ This class provides a number of useful methods for exporting / importing data @@ -1713,7 +1761,7 @@ Index: OgreMain/include/OgreShadowCameraSetup.h =================================================================== ---- OgreMain/include/OgreShadowCameraSetup.h (revision 9761) +--- OgreMain/include/OgreShadowCameraSetup.h (revision 9851) +++ OgreMain/include/OgreShadowCameraSetup.h (working copy) @@ -65,9 +65,11 @@ degrees of freedom. This class is meant to allow custom methods for @@ -1739,7 +1787,7 @@ /// Destructor Index: OgreMain/include/OgreShadowCameraSetupFocused.h =================================================================== ---- OgreMain/include/OgreShadowCameraSetupFocused.h (revision 9761) +--- OgreMain/include/OgreShadowCameraSetupFocused.h (revision 9851) +++ OgreMain/include/OgreShadowCameraSetupFocused.h (working copy) @@ -56,6 +56,9 @@ */ @@ -1753,7 +1801,7 @@ @remarks Index: OgreMain/include/OgreShadowCameraSetupLiSPSM.h =================================================================== ---- OgreMain/include/OgreShadowCameraSetupLiSPSM.h (revision 9761) +--- OgreMain/include/OgreShadowCameraSetupLiSPSM.h (revision 9851) +++ OgreMain/include/OgreShadowCameraSetupLiSPSM.h (working copy) @@ -97,6 +97,9 @@ */ @@ -1767,7 +1815,7 @@ Real mOptAdjustFactor; Index: OgreMain/include/OgreShadowCameraSetupPlaneOptimal.h =================================================================== ---- OgreMain/include/OgreShadowCameraSetupPlaneOptimal.h (revision 9761) +--- OgreMain/include/OgreShadowCameraSetupPlaneOptimal.h (revision 9851) +++ OgreMain/include/OgreShadowCameraSetupPlaneOptimal.h (working copy) @@ -60,6 +60,9 @@ */ @@ -1781,7 +1829,7 @@ private: Index: OgreMain/include/OgreShadowCaster.h =================================================================== ---- OgreMain/include/OgreShadowCaster.h (revision 9761) +--- OgreMain/include/OgreShadowCaster.h (revision 9851) +++ OgreMain/include/OgreShadowCaster.h (working copy) @@ -49,8 +49,11 @@ vertex buffers (not necessarily one buffer, but the positions for the entire geometry @@ -1811,7 +1859,7 @@ virtual bool getCastShadows(void) const = 0; Index: OgreMain/include/OgreSimpleRenderable.h =================================================================== ---- OgreMain/include/OgreSimpleRenderable.h (revision 9761) +--- OgreMain/include/OgreSimpleRenderable.h (revision 9851) +++ OgreMain/include/OgreSimpleRenderable.h (working copy) @@ -48,6 +48,9 @@ */ @@ -1825,7 +1873,7 @@ Index: OgreMain/include/OgreSimpleSpline.h =================================================================== ---- OgreMain/include/OgreSimpleSpline.h (revision 9761) +--- OgreMain/include/OgreSimpleSpline.h (revision 9851) +++ OgreMain/include/OgreSimpleSpline.h (working copy) @@ -56,6 +56,8 @@ class _OgreExport SimpleSpline @@ -1838,7 +1886,7 @@ Index: OgreMain/include/OgreSkeleton.h =================================================================== ---- OgreMain/include/OgreSkeleton.h (revision 9761) +--- OgreMain/include/OgreSkeleton.h (revision 9851) +++ OgreMain/include/OgreSkeleton.h (working copy) @@ -84,6 +84,9 @@ */ @@ -1852,7 +1900,7 @@ /// Internal constructor for use by SkeletonInstance only Index: OgreMain/include/OgreSkeletonInstance.h =================================================================== ---- OgreMain/include/OgreSkeletonInstance.h (revision 9761) +--- OgreMain/include/OgreSkeletonInstance.h (revision 9851) +++ OgreMain/include/OgreSkeletonInstance.h (working copy) @@ -52,6 +52,8 @@ class _OgreExport SkeletonInstance : public Skeleton @@ -1865,7 +1913,7 @@ */ Index: OgreMain/include/OgreSkeletonSerializer.h =================================================================== ---- OgreMain/include/OgreSkeletonSerializer.h (revision 9761) +--- OgreMain/include/OgreSkeletonSerializer.h (revision 9851) +++ OgreMain/include/OgreSkeletonSerializer.h (working copy) @@ -56,6 +56,8 @@ class _OgreExport SkeletonSerializer : public Serializer @@ -1878,7 +1926,7 @@ Index: OgreMain/include/OgreStaticGeometry.h =================================================================== ---- OgreMain/include/OgreStaticGeometry.h (revision 9761) +--- OgreMain/include/OgreStaticGeometry.h (revision 9851) +++ OgreMain/include/OgreStaticGeometry.h (working copy) @@ -117,9 +117,11 @@ Warning: this class only works with indexed triangle lists at the moment, @@ -1926,7 +1974,7 @@ protected: Index: OgreMain/include/OgreSubEntity.h =================================================================== ---- OgreMain/include/OgreSubEntity.h (revision 9761) +--- OgreMain/include/OgreSubEntity.h (revision 9851) +++ OgreMain/include/OgreSubEntity.h (working copy) @@ -59,8 +59,11 @@ the same time as their parent Entity by the SceneManager method @@ -1943,7 +1991,7 @@ friend class SceneManager; Index: OgreMain/include/OgreSubMesh.h =================================================================== ---- OgreMain/include/OgreSubMesh.h (revision 9761) +--- OgreMain/include/OgreSubMesh.h (revision 9851) +++ OgreMain/include/OgreSubMesh.h (working copy) @@ -61,6 +61,9 @@ */ @@ -1957,7 +2005,7 @@ friend class MeshSerializerImpl_v1_2; Index: OgreMain/include/OgreTagPoint.h =================================================================== ---- OgreMain/include/OgreTagPoint.h (revision 9761) +--- OgreMain/include/OgreTagPoint.h (revision 9851) +++ OgreMain/include/OgreTagPoint.h (working copy) @@ -61,6 +61,8 @@ { @@ -1970,7 +2018,7 @@ Index: OgreMain/include/OgreTechnique.h =================================================================== ---- OgreMain/include/OgreTechnique.h (revision 9761) +--- OgreMain/include/OgreTechnique.h (revision 9851) +++ OgreMain/include/OgreTechnique.h (working copy) @@ -52,6 +52,9 @@ */ @@ -2002,7 +2050,7 @@ bool caseSensitive; Index: OgreMain/include/OgreTextAreaOverlayElement.h =================================================================== ---- OgreMain/include/OgreTextAreaOverlayElement.h (revision 9761) +--- OgreMain/include/OgreTextAreaOverlayElement.h (revision 9851) +++ OgreMain/include/OgreTextAreaOverlayElement.h (working copy) @@ -43,6 +43,8 @@ class _OgreExport TextAreaOverlayElement : public OverlayElement @@ -2015,7 +2063,7 @@ Left, Index: OgreMain/include/OgreTexture.h =================================================================== ---- OgreMain/include/OgreTexture.h (revision 9761) +--- OgreMain/include/OgreTexture.h (revision 9851) +++ OgreMain/include/OgreTexture.h (working copy) @@ -101,6 +101,8 @@ class _OgreExport Texture : public Resource @@ -2028,7 +2076,7 @@ Index: OgreMain/include/OgreTextureUnitState.h =================================================================== ---- OgreMain/include/OgreTextureUnitState.h (revision 9761) +--- OgreMain/include/OgreTextureUnitState.h (revision 9851) +++ OgreMain/include/OgreTextureUnitState.h (working copy) @@ -62,6 +62,9 @@ { @@ -2054,7 +2102,7 @@ //----------------------------------------------------------------------------- Index: OgreMain/include/OgreUnifiedHighLevelGpuProgram.h =================================================================== ---- OgreMain/include/OgreUnifiedHighLevelGpuProgram.h (revision 9761) +--- OgreMain/include/OgreUnifiedHighLevelGpuProgram.h (revision 9851) +++ OgreMain/include/OgreUnifiedHighLevelGpuProgram.h (working copy) @@ -60,6 +60,8 @@ class _OgreExport UnifiedHighLevelGpuProgram : public HighLevelGpuProgram @@ -2067,7 +2115,7 @@ { Index: OgreMain/include/OgreVertexIndexData.h =================================================================== ---- OgreMain/include/OgreVertexIndexData.h (revision 9761) +--- OgreMain/include/OgreVertexIndexData.h (revision 9851) +++ OgreMain/include/OgreVertexIndexData.h (working copy) @@ -47,6 +47,9 @@ /** Summary class collecting together vertex source information. */ @@ -2091,7 +2139,7 @@ IndexData(const IndexData& rhs); /* do nothing, should not use */ Index: OgreMain/include/OgreViewport.h =================================================================== ---- OgreMain/include/OgreViewport.h (revision 9761) +--- OgreMain/include/OgreViewport.h (revision 9851) +++ OgreMain/include/OgreViewport.h (working copy) @@ -53,9 +53,11 @@ viewport on a single render target and they overlap, one must @@ -2109,7 +2157,7 @@ cam Pointer to a camera to be the source for the image. Index: OgreMain/include/OgreWireBoundingBox.h =================================================================== ---- OgreMain/include/OgreWireBoundingBox.h (revision 9761) +--- OgreMain/include/OgreWireBoundingBox.h (revision 9851) +++ OgreMain/include/OgreWireBoundingBox.h (working copy) @@ -47,6 +47,9 @@ */ @@ -2123,7 +2171,7 @@ */ Index: OgreMain/include/OgreZip.h =================================================================== ---- OgreMain/include/OgreZip.h (revision 9761) +--- OgreMain/include/OgreZip.h (revision 9851) +++ OgreMain/include/OgreZip.h (working copy) @@ -53,6 +53,9 @@ */ @@ -2135,3 +2183,56 @@ 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().logMessage(this->getFullDescription()); + } +@@ -56,6 +72,7 @@ + source( src ), + file( fil ) + { ++ LastExceptionThrown = *this; + // Log this error, mask it from debug though since it may be caught and ignored + if(LogManager::getSingletonPtr()) + { +@@ -108,9 +125,9 @@ + return fullDesc; + } + +- int Exception::getNumber(void) const throw() ++ Exception::ExceptionCodes Exception::getNumber(void) const throw() + { +- return number; ++ return (Exception::ExceptionCodes)number; + } + + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
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-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-23 21:06:09
|
Revision: 297 http://mogre.svn.sourceforge.net/mogre/?rev=297&view=rev Author: realgantz Date: 2010-02-23 21:05:59 +0000 (Tue, 23 Feb 2010) Log Message: ----------- -> work on MOGRE 1.7 (WIP) -> add patch by iunknow for cpptojava, remove java dependencies -> change input.xslt on enum processing reflecting change in mogre -> add saxon .net in replacement of the java version -> various change in autowrap code following change in ogre containers (custom template instead of regular std:: containers) Modified Paths: -------------- trunk/MOIS/MOIS/CodeGen/cpp2java/doxygen.bat trunk/MOIS/MOIS/CodeGen/cpp2java/readme.txt trunk/MOIS/MOIS/CodeGen/cpp2java/xslt/mycombine.xslt trunk/Mogre/AutoWrap/Attributes.xml trunk/Mogre/AutoWrap/AutoWrap.csproj trunk/Mogre/AutoWrap/Meta/DefExplicitTypes.cs trunk/Mogre/AutoWrap/Meta/DefNameSpace.cs trunk/Mogre/AutoWrap/Meta/DefType.cs trunk/Mogre/Mogre/AssemblyInfo.cpp trunk/Mogre/Mogre/Mogre_vc9.vcproj trunk/Mogre/Mogre/Ogre/CLRConfig.h trunk/Mogre/Mogre/include/STLContainerWrappers.h trunk/Mogre/MogreSamples.sln trunk/Mogre/Ogre Patches/Exception.patch trunk/Mogre/cpp2java/build.bat trunk/Mogre/cpp2java/doxygen.bat trunk/Mogre/cpp2java/fixedDoxygen/classOgre_1_1ManualObject.xml trunk/Mogre/cpp2java/meta.bat trunk/Mogre/cpp2java/readme.txt trunk/Mogre/cpp2java/xslt/input.xslt trunk/Mogre/cpp2java/xslt/mycombine.xslt Added Paths: ----------- trunk/MOIS/MOIS/CodeGen/cpp2java/build.bat trunk/Mogre/Mogre/STLHashedVector.h trunk/Mogre/cpp2java/bin/IKVM.OpenJDK.Charsets.dll trunk/Mogre/cpp2java/bin/IKVM.OpenJDK.Core.dll trunk/Mogre/cpp2java/bin/IKVM.OpenJDK.Text.dll trunk/Mogre/cpp2java/bin/IKVM.OpenJDK.Util.dll trunk/Mogre/cpp2java/bin/IKVM.OpenJDK.XML.API.dll trunk/Mogre/cpp2java/bin/IKVM.Runtime.dll trunk/Mogre/cpp2java/bin/Query.exe trunk/Mogre/cpp2java/bin/Transform.exe trunk/Mogre/cpp2java/bin/install-gac.cmd trunk/Mogre/cpp2java/bin/saxon9he-api.dll trunk/Mogre/cpp2java/bin/saxon9he.dll Removed Paths: ------------- trunk/Mogre/cpp2java/base/ Added: trunk/MOIS/MOIS/CodeGen/cpp2java/build.bat =================================================================== --- trunk/MOIS/MOIS/CodeGen/cpp2java/build.bat (rev 0) +++ trunk/MOIS/MOIS/CodeGen/cpp2java/build.bat 2010-02-23 21:05:59 UTC (rev 297) @@ -0,0 +1,26 @@ +@echo off + +mkdir build 2>nul + +@echo on + +bin\doxygen.exe ogre4j.doxygen + +copy /y xslt\mycombine.xslt build\doxyxml\ >nul + +bin\transform.exe -s:build\doxyxml\index.xml -xsl:build\doxyxml\mycombine.xslt -o:build\all.xml +bin\transform.exe -s:build\all.xml -xsl:xslt\input.xslt -o:build\meta.xml + +@echo off + +mkdir build 2>nul + +@echo on + +bin\doxygen.exe ogre4j.doxygen + +copy /y xslt\mycombine.xslt build\doxyxml\ >nul + +bin\transform.exe -s:build\doxyxml\index.xml -xsl:build\doxyxml\mycombine.xslt -o:build\all.xml +bin\transform.exe -s:build\all.xml -xsl:xslt\input.xslt -o:build\meta.xml + Modified: trunk/MOIS/MOIS/CodeGen/cpp2java/doxygen.bat =================================================================== --- trunk/MOIS/MOIS/CodeGen/cpp2java/doxygen.bat 2010-02-18 22:33:09 UTC (rev 296) +++ trunk/MOIS/MOIS/CodeGen/cpp2java/doxygen.bat 2010-02-23 21:05:59 UTC (rev 297) @@ -1,15 +1,5 @@ @echo off -rem set variables -set doxygen=bin\doxygen.exe -set doxyfile=ogre4j.doxygen -set saxon=bin\saxon8_2.jar -set combine=mycombine.xslt -set metaxslt=input.xslt -set java=java -Xmx512M - -rem stop editing - if "%1"=="clean" goto clean if "%1"=="build" goto build if "%1"=="meta" goto meta @@ -17,6 +7,7 @@ goto usage :clean + echo.clean project files... rmdir /s /q build mkdir build @@ -26,25 +17,27 @@ :build -rem IF NOT EXIST build mkdir build - mkdir build 2>nul -%doxygen% %doxyfile% -copy /y xslt\%combine% build\doxyxml\ >nul - @echo on -%java% -jar %saxon% -o build\all.xml build\doxyxml\index.xml build\doxyxml\%combine% -%java% -jar %saxon% -o build\meta.xml build\all.xml xslt\%metaxslt% -rem %java% -jar %saxon% build\meta.xml xslt\output.xslt -@echo off +bin\doxygen.exe ogre4j.doxygen +copy /y xslt\mycombine.xslt build\doxyxml\ >nul + +bin\transform.exe -s:build\doxyxml\index.xml -xsl:build\doxyxml\mycombine.xslt -o:build\all.xml +bin\transform.exe -s:build\all.xml -xsl:xslt\input.xslt -o:build\meta.xml + +@echo off + goto end :meta + @echo on -%java% -jar %saxon% -o build\meta.xml build\all.xml xslt\%metaxslt% + +bin\transform.exe -s:build\all.xml -xsl:xslt\input.xslt -o:build\meta.xml + @echo off @@ -55,7 +48,4 @@ echo. %0 [clean^|build^|meta] echo. -goto end - :end -pause Modified: trunk/MOIS/MOIS/CodeGen/cpp2java/readme.txt =================================================================== --- trunk/MOIS/MOIS/CodeGen/cpp2java/readme.txt 2010-02-18 22:33:09 UTC (rev 296) +++ trunk/MOIS/MOIS/CodeGen/cpp2java/readme.txt 2010-02-23 21:05:59 UTC (rev 297) @@ -1,8 +1,2 @@ Start the generating process with the following line: doxygen build - -In the "fixedDoxygen" folder are two xml files I fixed which Doxygen didn't generate correctly. -They are copied automatically into the build\doxyxml folder. - -The "base" folder contains type wrappers and files that couldn't be generated. -You have to copy the src folder in it into the \build\cpp2java folder. Modified: trunk/MOIS/MOIS/CodeGen/cpp2java/xslt/mycombine.xslt =================================================================== --- trunk/MOIS/MOIS/CodeGen/cpp2java/xslt/mycombine.xslt 2010-02-18 22:33:09 UTC (rev 296) +++ trunk/MOIS/MOIS/CodeGen/cpp2java/xslt/mycombine.xslt 2010-02-23 21:05:59 UTC (rev 297) @@ -2,7 +2,7 @@ If you have xsltproc you could use: xsltproc combine.xslt index.xml >all.xml --> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <xsl:output method="xml" version="1.0" indent="yes" standalone="yes"/> <xsl:template match="/"> <doxygen version="{doxygenindex/@version}"> Modified: trunk/Mogre/AutoWrap/Attributes.xml =================================================================== --- trunk/Mogre/AutoWrap/Attributes.xml 2010-02-18 22:33:09 UTC (rev 296) +++ trunk/Mogre/AutoWrap/Attributes.xml 2010-02-23 21:05:59 UTC (rev 297) @@ -18,6 +18,7 @@ <typedef name="ResourceAllocPolicy" Ignore="" /> <typedef name="ScriptingAllocPolicy" Ignore="" /> <typedef name="RenderSysAllocPolicy" Ignore="" /> + <typedef name="STLAllocator" Ignore="" /> <!-- Ignore the script compiler classes for now --> <class name="ScriptToken" Ignore="" /> @@ -192,7 +193,6 @@ <class name="ControllerFunctionRealPtr" Ignore=""/> <class name="ManualResourceLoader" WrapType="Interface"/> <class name="MaterialSerializer" WrapType="PlainWrapper"/> - <class name="CompositorSerializer" WrapType="PlainWrapper"/> <!-- to avoid name clash with System.Exception --> <class name="Exception" WrapType="PlainWrapper" ReadOnly="" Rename="OgreException"> <_CustomIncDeclaration> @@ -265,8 +265,6 @@ </class> <class name="ResourceBackgroundQueue"> <class name="Listener" WrapType="Interface"/> - <!-- It gets a Ogre::Resource::Listener object parameter and in Mogre we replaced that with events --> - <function name="_queueFireBackgroundLoadingComplete" Ignore=""/> </class> <class name="SceneManager"> <class name="SkyBoxGenParameters" WrapType="ReadOnlyStruct"/> Modified: trunk/Mogre/AutoWrap/AutoWrap.csproj =================================================================== --- trunk/Mogre/AutoWrap/AutoWrap.csproj 2010-02-18 22:33:09 UTC (rev 296) +++ trunk/Mogre/AutoWrap/AutoWrap.csproj 2010-02-23 21:05:59 UTC (rev 297) @@ -2,10 +2,10 @@ <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <ProductVersion>8.0.50727</ProductVersion> + <ProductVersion>9.0.21022</ProductVersion> <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{22E11F06-1C1E-41D1-B2E9-5D6B2372DE35}</ProjectGuid> - <OutputType>WinExe</OutputType> + <OutputType>Exe</OutputType> <AppDesignerFolder>Properties</AppDesignerFolder> <RootNamespace>AutoWrap</RootNamespace> <AssemblyName>AutoWrap</AssemblyName> @@ -14,6 +14,8 @@ <UpgradeBackupLocation> </UpgradeBackupLocation> <OldToolsVersion>2.0</OldToolsVersion> + <StartupObject> + </StartupObject> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> Modified: trunk/Mogre/AutoWrap/Meta/DefExplicitTypes.cs =================================================================== --- trunk/Mogre/AutoWrap/Meta/DefExplicitTypes.cs 2010-02-18 22:33:09 UTC (rev 296) +++ trunk/Mogre/AutoWrap/Meta/DefExplicitTypes.cs 2010-02-23 21:05:59 UTC (rev 297) @@ -507,8 +507,33 @@ public new static DefTypeDef CreateExplicitType(DefTypeDef typedef) { - switch (typedef.BaseTypeName) + //(MOGRE 1.7) get the real base type name + string BaseTypeName = typedef.BaseTypeName; + + if (!string.IsNullOrEmpty(BaseTypeName) && BaseTypeName.IndexOf('<') != -1) { + int CharPos = BaseTypeName.IndexOf("<"); + string OgreTypeDef = BaseTypeName.Substring(0, CharPos); + + switch (OgreTypeDef) + { + case "vector": + case "set": + case "deque": + case "list": + BaseTypeName = "std::" + OgreTypeDef; + break; + case "HashedVector": + BaseTypeName = OgreTypeDef; + break; + } + } + + //End (MOGRE 1.7) + + + switch (BaseTypeName) + { case "std::vector": return DefStdVector.CreateExplicitType(typedef); case "std::set": @@ -517,6 +542,8 @@ return DefStdDeque.CreateExplicitType(typedef); case "std::list": return new DefStdList(typedef.Element); + case "HashedVector": + return DefHashedVector.CreateExplicitType(typedef); default: throw new Exception("Unexpected"); } @@ -527,6 +554,34 @@ } } + class DefHashedVector : DefStdVector + { + public override string STLContainer + { + get { return "HashedVector"; } + } + + public override string FullSTLContainerTypeName + { + get + { + return "STLHASHEDVECTOR<" + TypeMembers[0].CLRTypeName + ", " + TypeMembers[0].NativeTypeName + ">"; + } + } + + public new static DefTypeDef CreateExplicitType(DefTypeDef typedef) + { + return new DefHashedVector(typedef.Element); + } + + public DefHashedVector(XmlElement elem) + : base(elem) + { + } + + + } + class DefStdVector : DefStdList { public override string STLContainer Modified: trunk/Mogre/AutoWrap/Meta/DefNameSpace.cs =================================================================== --- trunk/Mogre/AutoWrap/Meta/DefNameSpace.cs 2010-02-18 22:33:09 UTC (rev 296) +++ trunk/Mogre/AutoWrap/Meta/DefNameSpace.cs 2010-02-23 21:05:59 UTC (rev 297) @@ -171,6 +171,8 @@ } } + 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-18 22:33:09 UTC (rev 296) +++ trunk/Mogre/AutoWrap/Meta/DefType.cs 2010-02-23 21:05:59 UTC (rev 297) @@ -1641,6 +1641,43 @@ { 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)) + { + // if(typedef. + + // && typedef.BaseTypeName.IndexOf('<') != -1 + //string BaseTypeName = typedef.BaseTypeName; + //int CharPos = BaseTypeName.IndexOf("<"); + string OgreTypeDef = typedef.BaseTypeName; + + switch (OgreTypeDef) + { + case "vector": + case "set": + case "deque": + case "list": + case "map": + case "multimap": + case "pair": + typedef.BaseTypeName = "std::" + OgreTypeDef; + break; + case "HashedVector": + typedef.BaseTypeName = OgreTypeDef; + break; + } + } + + //End (MOGRE 1.7) + + + if (typedef.BaseTypeName.Contains("<") || typedef.BaseTypeName.Contains("std::")) { @@ -1649,6 +1686,10 @@ { expl = DefTemplateOneType.CreateExplicitType(typedef); } + else if (typedef.BaseTypeName == "std::basic_stringstream") + { + + } else { switch (typedef.TypeNames.Length) Modified: trunk/Mogre/Mogre/AssemblyInfo.cpp =================================================================== --- trunk/Mogre/Mogre/AssemblyInfo.cpp 2010-02-18 22:33:09 UTC (rev 296) +++ trunk/Mogre/Mogre/AssemblyInfo.cpp 2010-02-23 21:05:59 UTC (rev 297) @@ -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.5")]; +[assembly:AssemblyVersionAttribute("1.7.0")]; [assembly:ComVisible(false)]; Modified: trunk/Mogre/Mogre/Mogre_vc9.vcproj =================================================================== --- trunk/Mogre/Mogre/Mogre_vc9.vcproj 2010-02-18 22:33:09 UTC (rev 296) +++ trunk/Mogre/Mogre/Mogre_vc9.vcproj 2010-02-23 21:05:59 UTC (rev 297) @@ -41,8 +41,9 @@ /> <Tool Name="VCCLCompilerTool" + AdditionalOptions="/MP" Optimization="0" - AdditionalIncludeDirectories="include;include\auto;..\Ogre\OgreMain\include;Ogre" + AdditionalIncludeDirectories="include;include\auto;..\Ogre\OgreMain\include;Ogre;..\build\include;"C:\Program Files (x86)\boost\boost_1_40"" PreprocessorDefinitions="WIN32;_DEBUG" RuntimeLibrary="3" UsePrecompiledHeader="2" @@ -64,7 +65,7 @@ AdditionalDependencies="OgreMain_d.lib" OutputFile="$(OutDir)\$(ProjectName)_d.dll" LinkIncremental="2" - AdditionalLibraryDirectories="..\Ogre\lib" + AdditionalLibraryDirectories="..\build\lib\Debug" GenerateDebugInformation="true" AssemblyDebug="1" TargetMachine="1" @@ -118,7 +119,7 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="include;include\auto;..\Ogre\OgreMain\include;Ogre" + AdditionalIncludeDirectories="include;include\auto;..\Ogre\OgreMain\include;Ogre;..\build\include;"C:\Program Files (x86)\boost\boost_1_40"" PreprocessorDefinitions="WIN32;NDEBUG" RuntimeLibrary="2" UsePrecompiledHeader="2" @@ -139,7 +140,7 @@ Name="VCLinkerTool" AdditionalDependencies="OgreMain.lib" LinkIncremental="1" - AdditionalLibraryDirectories="..\Ogre\lib" + AdditionalLibraryDirectories="..\build\lib\Release" GenerateDebugInformation="true" TargetMachine="1" /> @@ -1299,11 +1300,11 @@ > </File> <File - RelativePath=".\include\auto\MogrePlane.h" + RelativePath=".\include\Custom\MogrePlane.h" > </File> <File - RelativePath=".\include\Custom\MogrePlane.h" + RelativePath=".\include\auto\MogrePlane.h" > </File> <File Modified: trunk/Mogre/Mogre/Ogre/CLRConfig.h =================================================================== --- trunk/Mogre/Mogre/Ogre/CLRConfig.h 2010-02-18 22:33:09 UTC (rev 296) +++ trunk/Mogre/Mogre/Ogre/CLRConfig.h 2010-02-23 21:05:59 UTC (rev 297) @@ -1,3 +1,3 @@ #pragma once -#define LINK_TO_MOGRE 1 +#define LINK_TO_MOGRE 0 Added: trunk/Mogre/Mogre/STLHashedVector.h =================================================================== --- trunk/Mogre/Mogre/STLHashedVector.h (rev 0) +++ trunk/Mogre/Mogre/STLHashedVector.h 2010-02-23 21:05:59 UTC (rev 297) @@ -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(); } \ + } \ +}; + + +//############################################################################################## +//############################################################################################## + + +#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/STLContainerWrappers.h =================================================================== --- trunk/Mogre/Mogre/include/STLContainerWrappers.h 2010-02-18 22:33:09 UTC (rev 296) +++ trunk/Mogre/Mogre/include/STLContainerWrappers.h 2010-02-23 21:05:59 UTC (rev 297) @@ -12,6 +12,7 @@ #include "Custom\MogrePair.h" #include "STLVector.h" +#include "STLHashedVector.h" #include "STLList.h" #include "STLSet.h" #include "STLMultiSet.h" Modified: trunk/Mogre/MogreSamples.sln =================================================================== --- trunk/Mogre/MogreSamples.sln 2010-02-18 22:33:09 UTC (rev 296) +++ trunk/Mogre/MogreSamples.sln 2010-02-23 21:05:59 UTC (rev 297) @@ -50,6 +50,8 @@ {FFF8B177-8ED5-4871-8E44-FE4807CAFD30}.Release|x86.ActiveCfg = Release|x86 {FFF8B177-8ED5-4871-8E44-FE4807CAFD30}.Release|x86.Build.0 = Release|x86 {A36DCBF9-8295-41E7-94E1-9838B2131228}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A36DCBF9-8295-41E7-94E1-9838B2131228}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A36DCBF9-8295-41E7-94E1-9838B2131228}.Debug|Any CPU.Build.0 = Debug|Any CPU {A36DCBF9-8295-41E7-94E1-9838B2131228}.Debug|x86.ActiveCfg = Debug|x86 {A36DCBF9-8295-41E7-94E1-9838B2131228}.Debug|x86.Build.0 = Debug|x86 {A36DCBF9-8295-41E7-94E1-9838B2131228}.Release|Any CPU.ActiveCfg = Release|Any CPU Modified: trunk/Mogre/Ogre Patches/Exception.patch =================================================================== --- trunk/Mogre/Ogre Patches/Exception.patch 2010-02-18 22:33:09 UTC (rev 296) +++ trunk/Mogre/Ogre Patches/Exception.patch 2010-02-23 21:05:59 UTC (rev 297) @@ -1,81 +1,79 @@ Index: OgreMain/include/OgreException.h =================================================================== ---- OgreMain/include/OgreException.h (revision 8525) +--- OgreMain/include/OgreException.h (revision 9761) +++ OgreMain/include/OgreException.h (working copy) -@@ -145,7 +145,7 @@ - - /** Gets the error code. - */ -- virtual int getNumber(void) const throw(); -+ virtual ExceptionCodes getNumber(void) const throw(); - - /** Gets the source function. - */ -@@ -168,6 +168,11 @@ - /// Override std::exception::what - const char* what() const throw() { return getFullDescription().c_str(); } - -+ //Additions for Mogre -+ /** Retrieves a pointer to the last exception created. -+ */ -+ static Exception* getLastException() throw(); -+ static void clearLastException() throw(); - }; - - +@@ -151,7 +151,7 @@ + + /** Gets the error code. + */ +- virtual int getNumber(void) const throw(); ++ virtual ExceptionCodes getNumber(void) const throw(); + + /** Gets the source function. + */ +@@ -173,6 +173,12 @@ + + /// Override std::exception::what + const char* what() const throw() { return getFullDescription().c_str(); } ++ ++ //Additions for Mogre ++ /** Retrieves a pointer to the last exception created. ++ */ ++ static Exception* getLastException() throw(); ++ static void clearLastException() throw(); + + }; + Index: OgreMain/src/OgreException.cpp =================================================================== ---- OgreMain/src/OgreException.cpp (revision 8525) +--- OgreMain/src/OgreException.cpp (revision 9761) +++ OgreMain/src/OgreException.cpp (working copy) -@@ -38,12 +38,30 @@ - - 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().logMessage(this->getFullDescription()); - } -@@ -57,6 +75,8 @@ - source( src ), - file( fil ) - { -+ LastExceptionThrown = *this; -+ - // Log this error, mask it from debug though since it may be caught and ignored - if(LogManager::getSingletonPtr()) - { -@@ -109,9 +129,9 @@ - return fullDesc; - } - -- int Exception::getNumber(void) const throw() -+ Exception::ExceptionCodes Exception::getNumber(void) const throw() - { -- return number; -+ return (Exception::ExceptionCodes)number; - } - - } +@@ -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().logMessage(this->getFullDescription()); + } +@@ -56,6 +72,7 @@ + source( src ), + file( fil ) + { ++ LastExceptionThrown = *this; + // Log this error, mask it from debug though since it may be caught and ignored + if(LogManager::getSingletonPtr()) + { +@@ -108,9 +125,9 @@ + return fullDesc; + } + +- int Exception::getNumber(void) const throw() ++ Exception::ExceptionCodes Exception::getNumber(void) const throw() + { +- return number; ++ return (Exception::ExceptionCodes)number; + } + + } Added: trunk/Mogre/cpp2java/bin/IKVM.OpenJDK.Charsets.dll =================================================================== (Binary files differ) Property changes on: trunk/Mogre/cpp2java/bin/IKVM.OpenJDK.Charsets.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Mogre/cpp2java/bin/IKVM.OpenJDK.Core.dll =================================================================== (Binary files differ) Property changes on: trunk/Mogre/cpp2java/bin/IKVM.OpenJDK.Core.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Mogre/cpp2java/bin/IKVM.OpenJDK.Text.dll =================================================================== (Binary files differ) Property changes on: trunk/Mogre/cpp2java/bin/IKVM.OpenJDK.Text.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Mogre/cpp2java/bin/IKVM.OpenJDK.Util.dll =================================================================== (Binary files differ) Property changes on: trunk/Mogre/cpp2java/bin/IKVM.OpenJDK.Util.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Mogre/cpp2java/bin/IKVM.OpenJDK.XML.API.dll =================================================================== (Binary files differ) Property changes on: trunk/Mogre/cpp2java/bin/IKVM.OpenJDK.XML.API.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Mogre/cpp2java/bin/IKVM.Runtime.dll =================================================================== (Binary files differ) Property changes on: trunk/Mogre/cpp2java/bin/IKVM.Runtime.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Mogre/cpp2java/bin/Query.exe =================================================================== (Binary files differ) Property changes on: trunk/Mogre/cpp2java/bin/Query.exe ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Mogre/cpp2java/bin/Transform.exe =================================================================== (Binary files differ) Property changes on: trunk/Mogre/cpp2java/bin/Transform.exe ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Mogre/cpp2java/bin/install-gac.cmd =================================================================== --- trunk/Mogre/cpp2java/bin/install-gac.cmd (rev 0) +++ trunk/Mogre/cpp2java/bin/install-gac.cmd 2010-02-23 21:05:59 UTC (rev 297) @@ -0,0 +1,12 @@ + + set NET="%PROGRAMFILES%\Microsoft SDKs\Windows\v6.0A\bin" + rem -- alternative location: set NET="%PROGRAMFILES%\Microsoft.NET\SDK\v2.0\Bin" + %NET%\gacutil /if IKVM.Runtime.dll + %NET%\gacutil /if IKVM.OpenJDK.Core.dll + %NET%\gacutil /if IKVM.OpenJDK.Charsets.dll + %NET%\gacutil /if IKVM.OpenJDK.Util.dll + %NET%\gacutil /if IKVM.OpenJDK.XML.API.dll + %NET%\gacutil /if xercesImpl.dll + %NET%\gacutil /if saxon9he.dll + %NET%\gacutil /if saxon9he-api.dll + \ No newline at end of file Added: trunk/Mogre/cpp2java/bin/saxon9he-api.dll =================================================================== (Binary files differ) Property changes on: trunk/Mogre/cpp2java/bin/saxon9he-api.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Mogre/cpp2java/bin/saxon9he.dll =================================================================== (Binary files differ) Property changes on: trunk/Mogre/cpp2java/bin/saxon9he.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/Mogre/cpp2java/build.bat =================================================================== --- trunk/Mogre/cpp2java/build.bat 2010-02-18 22:33:09 UTC (rev 296) +++ trunk/Mogre/cpp2java/build.bat 2010-02-23 21:05:59 UTC (rev 297) @@ -1,28 +1,9 @@ -@echo off -rem set variables -set doxygen=bin\doxygen.exe -set doxyfile=ogre4j.doxygen -set saxon=bin\saxon8_2.jar -set combine=mycombine.xslt -set metaxslt=input.xslt -set java=java -Xmx512M - - -:build - -rem IF NOT EXIST build mkdir build - mkdir build 2>nul -%doxygen% %doxyfile% +bin\doxygen.exe ogre4j.doxygen copy /y fixedDoxygen\*.xml build\doxyxml -copy /y xslt\%combine% build\doxyxml\ >nul +copy /y xslt\mycombine.xslt build\doxyxml\ >nul -@echo on -%java% -jar %saxon% -o build\all.xml build\doxyxml\index.xml build\doxyxml\%combine% -%java% -jar %saxon% -o build\meta.xml build\all.xml xslt\%metaxslt% -rem %java% -jar %saxon% build\meta.xml xslt\output.xslt -@echo off +bin\transform.exe -s:build\doxyxml\index.xml -xsl:build\doxyxml\mycombine.xslt -o:build\all.xml +bin\transform.exe -s:build\all.xml -xsl:xslt\input.xslt -o:build\meta.xml -:end -pause Modified: trunk/Mogre/cpp2java/doxygen.bat =================================================================== --- trunk/Mogre/cpp2java/doxygen.bat 2010-02-18 22:33:09 UTC (rev 296) +++ trunk/Mogre/cpp2java/doxygen.bat 2010-02-23 21:05:59 UTC (rev 297) @@ -1,15 +1,5 @@ @echo off -rem set variables -set doxygen=bin\doxygen.exe -set doxyfile=ogre4j.doxygen -set saxon=bin\saxon8_2.jar -set combine=mycombine.xslt -set metaxslt=input.xslt -set java=java -Xmx512M - -rem stop editing - if "%1"=="clean" goto clean if "%1"=="build" goto build if "%1"=="meta" goto meta @@ -17,6 +7,7 @@ goto usage :clean + echo.clean project files... rmdir /s /q build mkdir build @@ -26,29 +17,30 @@ :build -rem IF NOT EXIST build mkdir build - mkdir build 2>nul -%doxygen% %doxyfile% +@echo on + +bin\doxygen.exe ogre4j.doxygen + copy /y fixedDoxygen\*.xml build\doxyxml -copy /y xslt\%combine% build\doxyxml\ >nul +copy /y xslt\mycombine.xslt build\doxyxml\ >nul -@echo on -%java% -jar %saxon% -o build\all.xml build\doxyxml\index.xml build\doxyxml\%combine% -%java% -jar %saxon% -o build\meta.xml build\all.xml xslt\%metaxslt% -rem %java% -jar %saxon% build\meta.xml xslt\output.xslt +bin\transform.exe -s:build\doxyxml\index.xml -xsl:build\doxyxml\mycombine.xslt -o:build\all.xml +bin\transform.exe -s:build\all.xml -xsl:xslt\input.xslt -o:build\meta.xml + @echo off - goto end :meta + @echo on -%java% -jar %saxon% -o build\meta.xml build\all.xml xslt\%metaxslt% -@echo off +bin\transform.exe -s:build\all.xml -xsl:xslt\input.xslt -o:build\meta.xml +@echo off + :usage echo.autogenerates jni bindings @@ -56,7 +48,5 @@ echo. %0 [clean^|build^|meta] echo. -goto end - :end -pause + Modified: trunk/Mogre/cpp2java/fixedDoxygen/classOgre_1_1ManualObject.xml =================================================================== --- trunk/Mogre/cpp2java/fixedDoxygen/classOgre_1_1ManualObject.xml 2010-02-18 22:33:09 UTC (rev 296) +++ trunk/Mogre/cpp2java/fixedDoxygen/classOgre_1_1ManualObject.xml 2010-02-23 21:05:59 UTC (rev 297) @@ -19,10 +19,26 @@ </detaileddescription> <inbodydescription> </inbodydescription> - <location file="D:/download/Stuff/Mogre/MOGRE-0.2.0/Mogre/ogrenew/OgreMain/include/OgreManualObject.h" line="430" bodyfile="D:/download/Stuff/Mogre/MOGRE-0.2.0/Mogre/ogrenew/OgreMain/include/OgreManualObject.h" bodystart="430" bodyend="-1"/> + <location file="C:/mogre/Mogre/ogre/OgreMain/include/OgreManualObject.h" line="451" bodyfile="C:/mogre/Mogre/ogre/OgreMain/include/OgreManualObject.h" bodystart="451" bodyend="-1"/> </memberdef> </sectiondef> <sectiondef kind="public-func"> + <memberdef kind="function" id="classOgre_1_1ManualObject_100654b769cf0c1e3e78ff8fbbac781a8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type></type> + <definition>Ogre::ManualObject::DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE</definition> + <argsstring>(ManualObject)</argsstring> + <name>DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE</name> + <param> + <type><ref refid="classOgre_1_1ManualObject" kindref="compound">ManualObject</ref></type> + </param> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="C:/mogre/Mogre/ogre/OgreMain/include/OgreManualObject.h" line="104"/> + </memberdef> <member... [truncated message content] |
From: <mog...@li...> - 2010-02-18 22:33:17
|
Revision: 296 http://mogre.svn.sourceforge.net/mogre/?rev=296&view=rev Author: realgantz Date: 2010-02-18 22:33:09 +0000 (Thu, 18 Feb 2010) Log Message: ----------- -> update of patch file to prepare wrapping of ogre 1.7 Modified Paths: -------------- trunk/Mogre/Ogre Patches/CLRObjects.patch Modified: trunk/Mogre/Ogre Patches/CLRObjects.patch =================================================================== --- trunk/Mogre/Ogre Patches/CLRObjects.patch 2010-02-18 22:27:20 UTC (rev 295) +++ trunk/Mogre/Ogre Patches/CLRObjects.patch 2010-02-18 22:33:09 UTC (rev 296) @@ -1,2089 +1,2137 @@ Index: OgreMain/include/OgreAnimable.h =================================================================== ---- OgreMain/include/OgreAnimable.h (revision 8525) +--- OgreMain/include/OgreAnimable.h (revision 9761) +++ 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 - { +@@ -68,9 +68,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 (revision 9761) +++ 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 - { +@@ -55,10 +55,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 (revision 9761) +++ 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 +@@ -49,10 +49,11 @@ + 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 vector<float>::type BoneBlendMask; + +@@ -183,6 +184,7 @@ + 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 (revision 9761) +++ 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 - { +@@ -48,6 +48,9 @@ + */ + class _OgreExport TimeIndex + { ++ public: ++ DECLARE_CLRHANDLE; ++ + protected: + /** The time position (in relation to the whole animation sequence) + */ +@@ -118,10 +121,11 @@ + 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. + */ +@@ -261,6 +265,7 @@ + class _OgreExport NumericAnimationTrack : public AnimationTrack + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(NumericAnimationTrack); + /// Constructor + NumericAnimationTrack(Animation* parent, unsigned short handle); + /// Constructor, associates with an AnimableValue +@@ -322,6 +327,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 +@@ -474,6 +481,7 @@ + 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 (revision 9761) +++ 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; +@@ -84,8 +84,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; +@@ -94,8 +97,6 @@ + /// Read-only flag + bool mReadOnly; + public: +- +- + /** Constructor - don't call direct, used by ArchiveFactory. + */ + Archive( const String& name, const String& archType ) Index: OgreMain/include/OgreBillboard.h =================================================================== ---- OgreMain/include/OgreBillboard.h (revision 8525) +--- OgreMain/include/OgreBillboard.h (revision 9761) +++ 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: +@@ -65,6 +65,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 (revision 9761) +++ 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: +@@ -77,7 +77,8 @@ + { + + public: +- ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(BillboardChain); ++ + /** Contains the data of an element of the BillboardChain. + */ + class _OgreExport Element +@@ -333,6 +334,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 (revision 9761) +++ 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; +@@ -50,6 +50,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 (revision 9761) +++ 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: +@@ -108,6 +108,9 @@ + */ + class _OgreExport BillboardSet : public MovableObject, public Renderable + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(BillboardSet); ++ + protected: + /** Private constructor (instances cannot be created directly). + */ +@@ -851,6 +854,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 (revision 9761) +++ 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) */ +@@ -51,6 +51,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 (revision 9761) +++ 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: +@@ -56,6 +56,9 @@ + */ + class _OgreExport BorderPanelOverlayElement : public PanelOverlayElement + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(BorderPanelOverlayElement); ++ + friend class BorderRenderable; + public: + /** Constructor */ +@@ -317,8 +320,10 @@ + 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 (revision 9761) +++ 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; +@@ -85,6 +85,8 @@ + class _OgreExport Camera : public Frustum + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Camera); ++ + /** Listener interface so you can be notified of Camera events. + */ + class _OgreExport Listener Index: OgreMain/include/OgreCodec.h =================================================================== ---- OgreMain/include/OgreCodec.h (revision 8525) +--- OgreMain/include/OgreCodec.h (revision 9761) +++ 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. +@@ -52,8 +52,10 @@ + 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 map< String, Codec* >::type CodecList; + /** A map that contains all the registered codecs. +@@ -61,9 +63,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 (revision 9761) +++ 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 +@@ -46,6 +46,8 @@ + class _OgreExport CompositionPass : public CompositorInstAlloc + { + public: ++ DECLARE_CLRHANDLE; ++ + CompositionPass(CompositionTargetPass *parent); + ~CompositionPass(); + +@@ -222,6 +224,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 (revision 9761) +++ OgreMain/include/OgreCompositionTargetPass.h (working copy) -@@ -39,6 +39,8 @@ - class _OgreExport CompositionTargetPass : public CompositorInstAlloc - { - public: -+ DECLARE_CLRHANDLE; -+ - CompositionTargetPass(CompositionTechnique *parent); - ~CompositionTargetPass(); - +@@ -44,6 +44,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 (revision 9761) +++ 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(); - +@@ -41,9 +41,11 @@ + */ + /** 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 (revision 9761) +++ 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(); +@@ -49,6 +49,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 (revision 9761) +++ 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. +@@ -43,9 +43,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 (revision 9761) +++ 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 +@@ -46,9 +46,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(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 (revision 9761) +++ 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 +@@ -48,9 +48,11 @@ + This information is built using the EdgeListBuilder class. Note that for a given mesh, + which can be made up of multiple submeshes, there are separate edge lists for when + */ +- class _OgreExport EdgeData : public EdgeDataAlloc ++ 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 (revision 9761) +++ 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: +@@ -80,6 +80,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; +@@ -782,6 +785,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 (revision 9761) +++ 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 */ +@@ -70,9 +70,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 (revision 9761) +++ 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 +@@ -46,6 +46,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 (revision 9761) +++ 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 +@@ -66,6 +66,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 (revision 9761) +++ 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; +@@ -83,6 +83,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 (revision 9761) +++ 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 +@@ -68,6 +68,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/OgreGpuProgramParams.h +=================================================================== +--- OgreMain/include/OgreGpuProgramParams.h (revision 9761) ++++ OgreMain/include/OgreGpuProgramParams.h (working copy) +@@ -386,6 +386,9 @@ + */ + class _OgreExport GpuSharedParameters : public GpuParamsAlloc + { ++ public: ++ DECLARE_CLRHANDLE; ++ + protected: + GpuNamedConstants mNamedConstants; + FloatConstantList mFloatConstants; +@@ -500,6 +503,9 @@ + */ + class _OgreExport GpuSharedParametersUsage : public GpuParamsAlloc + { ++ public: ++ DECLARE_CLRHANDLE; ++ + protected: + GpuSharedParametersPtr mSharedParams; + // Not a shared pointer since this is also parent +@@ -584,6 +590,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. + */ Index: OgreMain/include/OgreHardwareBuffer.h =================================================================== ---- OgreMain/include/OgreHardwareBuffer.h (revision 8525) +--- OgreMain/include/OgreHardwareBuffer.h (revision 9761) +++ 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 - { +@@ -70,10 +70,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 (revision 9761) +++ 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 +@@ -46,6 +46,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 (revision 9761) +++ 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 - */ +@@ -48,12 +48,13 @@ + * @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 (revision 9761) +++ 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; +@@ -51,6 +51,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 (revision 9761) +++ 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: +@@ -46,6 +46,9 @@ + /** Specialisation of HardwareBuffer for a vertex buffer. */ + class _OgreExport HardwareVertexBuffer : public HardwareBuffer + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(HardwareVertexBuffer); ++ + protected: + + HardwareBufferManagerBase* mMgr; +@@ -300,9 +303,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 list<VertexElement>::type VertexElementList; + /// Sort routine for vertex elements +@@ -478,9 +483,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 map<unsigned short, HardwareVertexBufferSharedPtr>::type VertexBufferBindingMap; + protected: Index: OgreMain/include/OgreHighLevelGpuProgram.h =================================================================== ---- OgreMain/include/OgreHighLevelGpuProgram.h (revision 8525) +--- OgreMain/include/OgreHighLevelGpuProgram.h (revision 9761) +++ 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; +@@ -62,6 +62,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 (revision 9761) +++ 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: +@@ -61,6 +61,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 (revision 9761) +++ 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) +@@ -47,12 +47,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 (revision 9761) +++ 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 +@@ -101,9 +101,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 +@@ -252,6 +254,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 (revision 9761) +++ 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() {} +@@ -52,9 +52,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); +@@ -79,6 +80,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() {} +@@ -102,6 +105,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() {} +@@ -153,6 +158,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() {} +@@ -183,6 +190,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 (revision 9761) +++ 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: +@@ -72,6 +72,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 +@@ -565,6 +567,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 (revision 9761) +++ 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; +@@ -91,6 +91,9 @@ + */ + class _OgreExport Log : public LogAlloc + { ++ public: ++ DECLARE_CLRHANDLE; ++ + protected: + std::ofstream mfpLog; + LoggingLevel mLogLevel; +@@ -190,6 +193,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 (revision 9761) +++ 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: +@@ -106,6 +106,8 @@ + class _OgreExport ManualObject : public MovableObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ManualObject); ++ + ManualObject(const String& name); + virtual ~ManualObject(); + +@@ -393,8 +395,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; +@@ -440,6 +445,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 +@@ -541,6 +549,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 (revision 9761) +++ 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; - +@@ -87,6 +87,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 (revision 9761) +++ 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; +@@ -90,6 +90,9 @@ + + class _OgreExport Mesh: public Resource + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Mesh); ++ + friend class SubMesh; + friend class MeshSerializerImpl; + friend class MeshSerializerImpl_v1_4; Index: OgreMain/include/OgreMeshSerializer.h =================================================================== ---- OgreMain/include/OgreMeshSerializer.h (revision 8525) +--- OgreMain/include/OgreMeshSerializer.h (revision 9761) +++ OgreMain/include/OgreMeshSerializer.h (working copy) -@@ -64,6 +64,8 @@ - class _OgreExport MeshSeriali... [truncated message content] |