[Python-ogre-commit] SF.net SVN: python-ogre: [603] trunk/python-ogre
Brought to you by:
andy_miller,
roman_yakovenko
From: <and...@us...> - 2008-06-22 11:58:54
|
Revision: 603 http://python-ogre.svn.sourceforge.net/python-ogre/?rev=603&view=rev Author: andy_miller Date: 2008-06-22 04:59:01 -0700 (Sun, 22 Jun 2008) Log Message: ----------- NXOgre builds and compiles :) Modified Paths: -------------- trunk/python-ogre/ChangeLog.txt trunk/python-ogre/ThirdParty/nxogre/NxOgreShapeTerrain.h trunk/python-ogre/code_generators/common_utils/extract_documentation.py trunk/python-ogre/code_generators/navi/python_navi_aliases.h trunk/python-ogre/code_generators/nxogre/customization_data.py trunk/python-ogre/code_generators/nxogre/generate_code.py trunk/python-ogre/code_generators/ogre/hand_made_wrappers.py trunk/python-ogre/environment.py Modified: trunk/python-ogre/ChangeLog.txt =================================================================== --- trunk/python-ogre/ChangeLog.txt 2008-06-22 06:25:12 UTC (rev 602) +++ trunk/python-ogre/ChangeLog.txt 2008-06-22 11:59:01 UTC (rev 603) @@ -1,3 +1,45 @@ +June 20 2008: Release 1.2 RC2 +=============================' +OK, so it's been a while -- what can I say, I have to live in the real world as well as the opensource one :) +There are some significant changes -- almost should be a 1.3 Rc1 release, however we'll stick with 1.2 + +One major issue to be aware of -- the binaries for Windows are based upon the latest SVN versions +of the underlying libraries - if you want Ogre 1.4 support you will need to build it yourself from the PythonOgre SVN. +So - while the PythonOgre SVN will continue to automatically support 'stable/released' versions of libraries I personally +am not going to make builds for these (as it doesn't keep my interest). Instead where possible everything will be based +on the latest and greatest underlying library code. + +***** ISSUES ***** +Some API's have changed -- Have a look at the Demo_Grass for one example (search for PythonOgreVersion). The +changes relate to where the underlying C++ function takes 'address references' as arguments and expects to modify +the variables at these locations. ie: + bool suggestTangentVectorBuildParams(VertexElementSemantic targetSemantic, + unsigned short& outSourceCoordSet, unsigned short& outIndex); +modifies inplace outSourceCoorSet and outIndex. This is something we fix when wrapping the library so you get a tupple +as a return from the function: + ret, src, dest = m.suggestTangentVectorBuildParams(ogre.VES_TANGENT,1,1) +In previous versions of PythonOgre you didn't need the 'dummy' arguments (in this example the '1,1') - however that meant +that some overloaded functions we not accesable, so now you have to obey the full C++ calling format. + +There are also some properties that are no longer exposed as they were breaking the wrappers in certain areas. These +were all 'additions' to the C++ library calls anyway so when in doubt look at the underlying library documentation.. +An example is + SceneManager.rootSceneNode.createChildSceneNode() will not longer work, +instead it has to read + SceneManager.getRootSceneNode().createChildSceneNode() + +***** Libraries Wrapped ***** + * OGRE 1.7 - SVN R7604 + * OIS 1.6 + * ODE 0.9 + * Physx (NVIDIA) 2.8.1 + * Bullet 2.69 + * QuickGGUI SVN R350 + + + and more :) + + Feb 19 2008: Release 1.2 RC1 ====================== ISSUES: Modified: trunk/python-ogre/ThirdParty/nxogre/NxOgreShapeTerrain.h =================================================================== --- trunk/python-ogre/ThirdParty/nxogre/NxOgreShapeTerrain.h 2008-06-22 06:25:12 UTC (rev 602) +++ trunk/python-ogre/ThirdParty/nxogre/NxOgreShapeTerrain.h 2008-06-22 11:59:01 UTC (rev 603) @@ -2,20 +2,20 @@ * \brief Header for the Terrain class. * \version 1.0-21 * - * \licence NxOgre a wrapper for the PhysX physics library. - * Copyright (C) 2005-8 Robin Southern of NxOgre.org http://www.nxogre.org - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software + * \licence NxOgre a wrapper for the PhysX physics library. + * Copyright (C) 2005-8 Robin Southern of NxOgre.org http://www.nxogre.org + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ @@ -154,32 +154,31 @@ /** \brief Terrain Constructor; loading a resource to use as a terrain. */ - Terrain(const Resources::ResourceIdentifier&, float3 size, const ShapeParams& = ShapeParams(), const TerrainParams& = TerrainParams()); - - /** \brief Terrain Constructor; loading a resource to use as a terrain. - */ - Terrain(const Resources::ResourceIdentifier&, NxVec3 size, const ShapeParams& = ShapeParams(), const TerrainParams& = TerrainParams()); - -#if (NX_USE_OGRE == 1) - /** \brief Terrain Constructor; loading a resource to use as a terrain. - */ - Terrain(const Resources::ResourceIdentifier&, Ogre::Vector3 size, const ShapeParams& = ShapeParams(), const TerrainParams& = TerrainParams()); -#endif - +// Terrain(const Resources::ResourceIdentifier&, float3 size, const ShapeParams& = ShapeParams(), const TerrainParams& = TerrainParams()); +// // /** \brief Terrain Constructor; loading a resource to use as a terrain. +// // */ +// // Terrain(const Resources::ResourceIdentifier&, NxVec3 size, const ShapeParams& = ShapeParams(), const TerrainParams& = TerrainParams()); +// // +// // #if (NX_USE_OGRE == 1) +// // /** \brief Terrain Constructor; loading a resource to use as a terrain. +// // */ +// // Terrain(const Resources::ResourceIdentifier&, Ogre::Vector3 size, const ShapeParams& = ShapeParams(), const TerrainParams& = TerrainParams()); +// // #endif +// // /** \brief Terrain Constructor; using a direct terrain */ Terrain(Resources::Heightfield*, float3 size, const ShapeParams& = ShapeParams(), const TerrainParams& = TerrainParams()); +// // +// // /** \brief Terrain Constructor; using a direct terrain +// // */ +// // Terrain(Resources::Heightfield*, NxVec3 size, const ShapeParams& = ShapeParams(), const TerrainParams& = TerrainParams()); +// // +// // #if (NX_USE_OGRE == 1) +// // /** \brief Terrain Constructor; using a direct terrain +// // */ +// // Terrain(Resources::Heightfield*, Ogre::Vector3 size, const ShapeParams& = ShapeParams(), const TerrainParams& = TerrainParams()); +// // #endif - /** \brief Terrain Constructor; using a direct terrain - */ - Terrain(Resources::Heightfield*, NxVec3 size, const ShapeParams& = ShapeParams(), const TerrainParams& = TerrainParams()); - -#if (NX_USE_OGRE == 1) - /** \brief Terrain Constructor; using a direct terrain - */ - Terrain(Resources::Heightfield*, Ogre::Vector3 size, const ShapeParams& = ShapeParams(), const TerrainParams& = TerrainParams()); -#endif - /** \brief Terrain destructor */ ~Terrain(); Modified: trunk/python-ogre/code_generators/common_utils/extract_documentation.py =================================================================== --- trunk/python-ogre/code_generators/common_utils/extract_documentation.py 2008-06-22 06:25:12 UTC (rev 602) +++ trunk/python-ogre/code_generators/common_utils/extract_documentation.py 2008-06-22 11:59:01 UTC (rev 603) @@ -218,7 +218,10 @@ _str = clean(_str, "\\include", "Include: ") ## nxPhysics _str = clean(_str, "\\image", "Image: ") ## nxPhysics + _str = clean(_str, "\\examples", "Examples: ") ## nxOgre + _str = clean(_str, "\\default", "Default: ") ## nxOgre + ## now clean up the rest _str = reduce(clean, [_str, '/', '*', '!', "\\brief", '\\fn', "@brief", "@fn", '"', "@{", "\\c", "\\a"]) ## somtimes there are '"' in the doc strings and other "\\"... Modified: trunk/python-ogre/code_generators/navi/python_navi_aliases.h =================================================================== --- trunk/python-ogre/code_generators/navi/python_navi_aliases.h 2008-06-22 06:25:12 UTC (rev 602) +++ trunk/python-ogre/code_generators/navi/python_navi_aliases.h 2008-06-22 11:59:01 UTC (rev 603) @@ -6,3 +6,6 @@ typedef std::vector<std::string, std::allocator<std::string> > VectorString; // typedef NaviLibrary::NaviUtilities::InlineVector<std::string> InlineVectorStrings; typedef NaviLibrary::NaviUtilities::InlineVector<NaviLibrary::NaviUtilities::MultiValue> InlineVectorArgs; +typedef NaviLibrary::Singleton< NaviLibrary::NaviManager > SingletonManager; +typedef NaviLibrary::Singleton< NaviLibrary::NaviMouse > SingletonMouse; +typedef NaviLibrary::FastDelegate1< NaviLibrary::NaviData const&, void > FastDelegateNaviData; \ No newline at end of file Modified: trunk/python-ogre/code_generators/nxogre/customization_data.py =================================================================== --- trunk/python-ogre/code_generators/nxogre/customization_data.py 2008-06-22 06:25:12 UTC (rev 602) +++ trunk/python-ogre/code_generators/nxogre/customization_data.py 2008-06-22 11:59:01 UTC (rev 603) @@ -2,7 +2,6 @@ def header_files( version ): return [ 'NxOgre.h' ,'NxOgreSkeleton.h' - ,'NxOgreResourceMesh.h' ,'Ogre.h' ,'OgrePlugin.h' ,'NxPhysics.h' Modified: trunk/python-ogre/code_generators/nxogre/generate_code.py =================================================================== --- trunk/python-ogre/code_generators/nxogre/generate_code.py 2008-06-22 06:25:12 UTC (rev 602) +++ trunk/python-ogre/code_generators/nxogre/generate_code.py 2008-06-22 11:59:01 UTC (rev 603) @@ -157,26 +157,35 @@ ,'::NxOgre::WheelSet::turn' ,'::NxOgre::Material::setDirOfAnisotropy' ,'::NxOgre::OgreNodeRenderable::addSceneNode' -# ,'::NxOgre::ResourceStreamPtr::ResourceStreamPtr' ,'::NxOgre::MaterialAlias::generateConversionList' -# ,'::NxOgre::Container<std::string, NxOgre::FluidDrain*>::begin' -# ,'::NxOgre::Container<std::string, NxOgre::FluidDrain*>::get' -# ,'::NxOgre::Container<std::string, NxOgre::FluidDrain*>::getFirst' -# ,'::NxOgre::Container<std::string, NxOgre::FluidDrain*>::next' -# ,'::NxOgre::Container<std::string, NxOgre::FluidDrain*>::_begin' -# ,'::NxOgre::Container<std::string, NxOgre::FluidDrain*>::_next' -# ,'::NxOgre::Container<std::string, NxOgre::FluidEmitter*>::_begin' -# ,'::NxOgre::Container<std::string, NxOgre::FluidEmitter*>::_next' -# ,'::NxOgre::Container<std::string, NxOgre::FluidEmitter*>::getFirst' ,'::NxOgre::Actor::getCompartment' ,'::NxOgre::Shape::getSkeleton' -# ,'::NxOgre::Container< std::string, NxOgre::Cloth* >::begin' -# ,'::NxOgre::Container< std::string, NxOgre::Cloth* >::get' -# ,'::NxOgre::Container< std::string, NxOgre::Cloth* >::getFirst' -# ,'::NxOgre::Container< std::string, NxOgre::Cloth* >::next' -# ,'::NxOgre::Container< std::string, NxOgre::Cloth* >::CopyTo' + ,'::NxOgre::Resources::ResourceSystem::getCookingInterface' + ,'::NxOgre::ContactCallbackController::registerSimpleCallback' + ,'::NxOgre::ContactCallbackController::registerGroupCallback' + ,'::NxOgre::ForceFieldFunction::Tornado' + ,'::NxOgre::ForceFieldFunction::Explosion' + ,'::NxOgre::Resources::Heightfield::getReferenceCount' + ,'::NxOgre::Resources::ManualHeightfield::isValid' + ,'::NxOgre::Resources::ManualHeightfield::isNotValidReasons' + ,'::NxOgre::Resources::ManualMesh::material' + ,'::NxOgre::Resources::ManualMesh::getMaterialAlias' + ,'::NxOgre::Resources::ManualMesh::addMaterialAlias' + ,'::NxOgre::Resources::ManualMesh::isNotValidReasons' + ,'::NxOgre::Resources::MaterialAlias::save' + ,'::NxOgre::Resources::MaterialAlias::load' + ,'::NxOgre::Resources::Mesh::getType' + ,'::NxOgre::Resources::Mesh::getReferenceCount' + ,'::NxOgre::Resources::ResourceSystem::getMaterialAlias' + ,'::NxOgre::Resources::ResourceSystem::destroyMesh' + ,'::NxOgre::Resources::ResourceSystem::clearMesh' + ,'::NxOgre::Resources::ResourceSystem::clearMaterialAlais' + ,'::NxOgre::Resources::ResourceSystem::addMaterialAlias' + ,'::NxOgre::WheelSet::setBrakingTorque' + + ] for e in excludes: print "excluding ", e @@ -205,15 +214,14 @@ 'DistanceJoint' ## constructor issue TOFIX ,'JointCallback' ## also no suitable/defaul constructor TOFIX ,'Character' ## defined in header but not very much implementation -# ,'RenderableSource' ,'ResourceManager' ,'::NxOgre::Container< std::string, NxConvexMesh* >' # issue with deleting protected classes -# ,'ResourceStreamPtr' -# ,'::NxOgre::Blueprints::ActorFactory' -# ,'State' -# ,'MeshResource' -# ,'::NxOgre::Serialiser::SerialiserBase' -# ,'BlueprintUserData' + ,'::NxOgre::Functions::Triggers::AddedGravity' + ,'::NxOgre::Resources::ManualMeshUtil' + ,'::NxOgre::Terrain::Terrain' + ,'::NxOgre::Functions::Triggers::NoGravity' + ,'::NxOgre::Functions::Triggers::ReplacementGravity' + ,'::NxOgre::Functions::Triggers::MoveToPosition' ] for e in excludes: print "Excluding", e @@ -249,10 +257,13 @@ # # f.exclude() ### Variables - excludes = ['::NxOgre::WheelSet::mEngine' # desctuctor in WheelSet is protected so can't wrap this.. + excludes = [ ## '::NxOgre::WheelSet::mEngine' # desctuctor in WheelSet is protected so can't wrap this.. + '::NxOgre::Shape::mSkeleton' + ,'::NxOgre::ShapeParams::mCCDSkeleton' + ,'::NxOgre::WheelParams::mWheelContactCallback' ] -# for e in excludes: -# main_ns.variable(e).exclude() + for e in excludes: + main_ns.variable(e).exclude() ### Typedefs excludes = [ @@ -266,10 +277,13 @@ if o.decl_string.endswith('[]'): print "Excluding Operator: ", o o.exclude() + else: + print "Operator OK:",o excludes=['::NxOgre::Container<std::string, NxOgre::FluidDrain*>::operator[]' ,'::NxOgre::Container<std::string, NxOgre::FluidEmitter*>::operator[]' ,'::NxOgre::Container< std::string, NxOgre::Cloth* >::operator[]' ,'::NxOgre::Container< std::string, NxOgre::Fluid* >::operator[]' + ,'::NxOgre::Container< std::string, NxOgre::SoftBody* >::operator[]' ] for e in excludes: print "Excluding operator:", e Modified: trunk/python-ogre/code_generators/ogre/hand_made_wrappers.py =================================================================== --- trunk/python-ogre/code_generators/ogre/hand_made_wrappers.py 2008-06-22 06:25:12 UTC (rev 602) +++ trunk/python-ogre/code_generators/ogre/hand_made_wrappers.py 2008-06-22 11:59:01 UTC (rev 603) @@ -365,7 +365,7 @@ "\"" + environment.PythonOgrePatchVersion + "\"" ) ); } -## Duplicating to get lower case 'get' +// Duplicating to get lower case 'get' boost::python::tuple getOgreVersion () { return ( boost::python::make_tuple( Ogre::StringConverter::toString(OGRE_VERSION_MAJOR), Modified: trunk/python-ogre/environment.py =================================================================== --- trunk/python-ogre/environment.py 2008-06-22 06:25:12 UTC (rev 602) +++ trunk/python-ogre/environment.py 2008-06-22 11:59:01 UTC (rev 603) @@ -972,7 +972,7 @@ ,os.path.join(Config.PATH_navi,'..','Dependencies','win32','astral','lib') ] CheckIncludes=[] - libs=[ Config.LIB_Boost, 'Navi', 'OgreMain','Astral', 'user32', + libs=[ Config.LIB_Boost, 'Navi_DLL', 'OgreMain','Astral', 'user32', 'kernel32.lib', 'gdi32.lib', 'winspool.lib', 'comdlg32.lib', 'advapi32.lib', 'shell32.lib','ole32.lib','oleaut32.lib','uuid.lib' ] ModuleName="navi" @@ -1071,7 +1071,7 @@ CheckIncludes=[] # libs=[ Config.LIB_Boost, 'NxOgre','NxCharacter', 'NxCooking', 'NxExtensions', 'PhysXLoader','OgreMain' ] if os.name =='nt': - libs=[ Config.LIB_Boost, 'NxCharacter', 'NxCooking', 'PhysXLoader','OgreMain' , 'NxOgreStatic'] #'NxExtensions', + libs=[ Config.LIB_Boost, 'NxCharacter', 'NxCooking', 'PhysXLoader','OgreMain' ] #, 'NxOgreStatic'] #'NxExtensions', else: libs=[ Config.LIB_Boost, 'NxCharacter', 'NxCooking', 'PhysXCore','PhysXLoader','OgreMain' ] ModuleName="NxOgre" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |