Thread: [Python-ogre-commit] SF.net SVN: python-ogre: [483] trunk/python-ogre/code_generators
Brought to you by:
andy_miller,
roman_yakovenko
From: <and...@us...> - 2007-12-02 06:22:55
|
Revision: 483 http://python-ogre.svn.sourceforge.net/python-ogre/?rev=483&view=rev Author: andy_miller Date: 2007-12-01 22:23:00 -0800 (Sat, 01 Dec 2007) Log Message: ----------- Missing files -- precompiled header support for ogre and the sizeof header ile for build nxogre under windows.. Added Paths: ----------- trunk/python-ogre/code_generators/nxogre/python_nxogre_sizeof.h.windows trunk/python-ogre/code_generators/ogre/python_ogre_precompiled.h Added: trunk/python-ogre/code_generators/nxogre/python_nxogre_sizeof.h.windows =================================================================== --- trunk/python-ogre/code_generators/nxogre/python_nxogre_sizeof.h.windows (rev 0) +++ trunk/python-ogre/code_generators/nxogre/python_nxogre_sizeof.h.windows 2007-12-02 06:23:00 UTC (rev 483) @@ -0,0 +1,63 @@ +sizeof ( NxControllersHit ); +sizeof ( NxBoxShapeDesc ); +sizeof ( NxPlaneShapeDesc ); +sizeof ( NxControllerManager ); +sizeof ( NxControllerShapeHit ); +sizeof ( NxPruningStructure ); +sizeof ( NxVec3 ); +sizeof ( NxSceneLimits ); +sizeof ( NxWheelShapeDesc ); +sizeof ( NxController ); +sizeof ( NxUserRaycastReport ); +sizeof ( NxControllerAction ); +sizeof ( NxWheelShape ); +sizeof ( NxHeightFieldShapeDesc ); +sizeof ( NxClothMesh ); +sizeof ( NxConvexShapeDesc ); +sizeof ( NxMeshData ); +sizeof ( NxFluid ); +sizeof ( NxHeightFieldAxis ); +sizeof ( NxTriangleMeshShapeDesc ); +sizeof ( NxTriangleMesh ); +sizeof ( NxSweepQueryHit ); +sizeof ( NxSphereShapeDesc ); +sizeof ( NxJointType ); +sizeof ( NxPhysicsSDK ); +sizeof ( NxUserAllocator ); +sizeof ( NxHeightField ); +sizeof ( NxUserContactReport ); +//sizeof ( NxOgre::FluidDrain ); +sizeof ( NxImplicitScreenMesh ); +sizeof ( NxMemoryType ); +sizeof ( NxJointState ); +sizeof ( NxBounds3 ); +sizeof ( NxRaycastHit ); +//sizeof ( NxOgre::FluidEmitter ); +sizeof ( NxContactPairFlag ); +sizeof ( NxClothDesc ); +sizeof ( NxContactPair ); +sizeof ( NxForceMode ); +//sizeof ( NxOgre::Compartment ); +sizeof ( NxCombineMode ); +sizeof ( NxExtendedVec3 ); +sizeof ( NxThreadPriority ); +sizeof ( NxConvexMesh ); +sizeof ( NxContactPair ); +sizeof ( NxSceneLimits ); +sizeof ( NxWheelShape ); +sizeof ( NxUserControllerHitReport ); +sizeof ( NxSceneDesc ); +sizeof ( NxScene ); +sizeof ( NxPhysicsSDK ); +sizeof ( NxShape ); +sizeof ( NxGroupsMask ); +sizeof ( NxControllersHit ); +sizeof ( JointCallback ); +sizeof ( JointCallback::JointBreakCallback ); +sizeof(std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >); + +sizeof ( std::pair<std::string, std::string> ); + + + + Added: trunk/python-ogre/code_generators/ogre/python_ogre_precompiled.h =================================================================== --- trunk/python-ogre/code_generators/ogre/python_ogre_precompiled.h (rev 0) +++ trunk/python-ogre/code_generators/ogre/python_ogre_precompiled.h 2007-12-02 06:23:00 UTC (rev 483) @@ -0,0 +1,4 @@ +/* precompiled header to improve compile times */ +#include "boost/python.hpp" +#include "boost/python/ssize_t.hpp" +#include "python_ogre_masterlist.h" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <and...@us...> - 2008-01-16 05:26:06
|
Revision: 549 http://python-ogre.svn.sourceforge.net/python-ogre/?rev=549&view=rev Author: andy_miller Date: 2008-01-15 21:26:11 -0800 (Tue, 15 Jan 2008) Log Message: ----------- NxOgre dir rename Added Paths: ----------- trunk/python-ogre/code_generators/nxogre_09/ Removed Paths: ------------- trunk/python-ogre/code_generators/nxogre_0.9/ Copied: trunk/python-ogre/code_generators/nxogre_09 (from rev 548, trunk/python-ogre/code_generators/nxogre_0.9) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <and...@us...> - 2008-01-16 05:25:31
|
Revision: 548 http://python-ogre.svn.sourceforge.net/python-ogre/?rev=548&view=rev Author: andy_miller Date: 2008-01-15 21:25:37 -0800 (Tue, 15 Jan 2008) Log Message: ----------- NxOgre 0.9 work Modified Paths: -------------- trunk/python-ogre/code_generators/nxogre/generate_code.py Added Paths: ----------- trunk/python-ogre/code_generators/nxogre_0.9/ trunk/python-ogre/code_generators/nxogre_0.9/customization_data.py trunk/python-ogre/code_generators/nxogre_0.9/generate_code.py trunk/python-ogre/code_generators/nxogre_0.9/hand_made_wrappers.py trunk/python-ogre/code_generators/nxogre_0.9/python_nxogre.h trunk/python-ogre/code_generators/nxogre_0.9/python_nxogre_aliases.h trunk/python-ogre/code_generators/nxogre_0.9/python_nxogre_sizeof.h trunk/python-ogre/code_generators/nxogre_0.9/python_nxogre_sizeof.h.windows trunk/python-ogre/code_generators/nxogre_0.9/register_exceptions.py Modified: trunk/python-ogre/code_generators/nxogre/generate_code.py =================================================================== --- trunk/python-ogre/code_generators/nxogre/generate_code.py 2008-01-16 02:53:00 UTC (rev 547) +++ trunk/python-ogre/code_generators/nxogre/generate_code.py 2008-01-16 05:25:37 UTC (rev 548) @@ -634,9 +634,9 @@ os.path.join( environment.nxogre.root_dir, "python_nxogre.h" ) , environment.nxogre.cache_file ) if os.name == 'nt': - defined_symbols = [ 'NxExport','OGRE_NONCLIENT_BUILD', 'OGRE_GCC_VISIBILITY', 'WIN32']#NXOGRE_EXPORTS' + defined_symbols = [ 'NxExport','OGRE_NONCLIENT_BUILD', 'OGRE_GCC_VISIBILITY', 'WIN32', 'GCC_XML']#NXOGRE_EXPORTS' else: - defined_symbols = [ 'LINUX','NX_LINUX', 'NX_DISABLE_FLUIDS', 'OGRE_NONCLIENT_BUILD', 'OGRE_GCC_VISIBILITY'] + defined_symbols = [ 'LINUX','NX_LINUX', 'NX_DISABLE_FLUIDS', 'OGRE_NONCLIENT_BUILD', 'OGRE_GCC_VISIBILITY', 'GCC_XML'] if environment._USE_THREADS: defined_symbols.append('BOOST_HAS_THREADS') Added: trunk/python-ogre/code_generators/nxogre_0.9/customization_data.py =================================================================== --- trunk/python-ogre/code_generators/nxogre_0.9/customization_data.py (rev 0) +++ trunk/python-ogre/code_generators/nxogre_0.9/customization_data.py 2008-01-16 05:25:37 UTC (rev 548) @@ -0,0 +1,13 @@ + +def header_files( version ): + return [ 'NxOgre.h' + ,'NxOgreSkeleton.h' + ,'NxOgreResourceMesh.h' + ,'Ogre.h' + ,'OgrePlugin.h' + ,'NxPhysics.h' + ] + +def huge_classes( version ): + return [] + \ No newline at end of file Added: trunk/python-ogre/code_generators/nxogre_0.9/generate_code.py =================================================================== --- trunk/python-ogre/code_generators/nxogre_0.9/generate_code.py (rev 0) +++ trunk/python-ogre/code_generators/nxogre_0.9/generate_code.py 2008-01-16 05:25:37 UTC (rev 548) @@ -0,0 +1,753 @@ +#!/usr/bin/env python +# ----------------------------------------------------------------------------- +# This source file is part of Python-Ogre and is covered by the LGPL +# For the latest info, see http://python-ogre.org/ +# +# ----------------------------------------------------------------------------- + + +import os, sys, time, shutil + +#add environment to the path +sys.path.append( os.path.join( '..', '..' ) ) +#add common utils to the pass +sys.path.append( '..' ) +sys.path.append( '.' ) + +import environment +import common_utils +import customization_data +import hand_made_wrappers +import register_exceptions + +from pygccxml import parser +from pygccxml import declarations +from pyplusplus import messages +from pyplusplus import module_builder +from pyplusplus import decl_wrappers + +from pyplusplus import function_transformers as ft +from pyplusplus.module_builder import call_policies +from pyplusplus.module_creator import sort_algorithms + +import common_utils.extract_documentation as exdoc +import common_utils.var_checker as varchecker +import common_utils.ogre_properties as ogre_properties + +MAIN_NAMESPACE = 'NxOgre' + +## small helper function +def docit ( general, i, o ): + docs = "Python-Ogre Modified Function Call\\n" + general +"\\n" + docs = docs + "Input: " + i + "\\n" + docs = docs + "Output: " + o + "\\n\\\n" + return docs + +############################################################ +## +## Here is where we manually exclude stuff +## +############################################################ + +def ManualExclude ( mb ): + global_ns = mb.global_ns + main_ns = global_ns.namespace( MAIN_NAMESPACE ) + for c in main_ns.classes(): + if c.decl_string.startswith('::NxOgre::Container<') and '*' not in c.decl_string: + print "EXCLUDING: ", c + c.exclude() + + ### Now some of the functions need to be excluded.. This is too much and could be cut back + ### ie only some of the containers lists fail at compile time + funlist = ['get','has','next','remove'] + if c.decl_string.startswith('::NxOgre::List<'): + for f in funlist: + try: + c.member_function(f).exclude() + print "EXCLUDING: ", c, f + except: + pass + for v in c.variables(allow_empty=True): + if v.access_type != 'public' : + v.exclude() + print "excluded", v, v.access_type + for t in main_ns.typedefs(): + if t.decl_string.startswith('::NxOgre::Container<') and '*' not in t.decl_string: + t.exclude() + print "EXCLUDING: ", t + + # things not yet implemented in the C source.. + excludes=['::NxOgre::Compartment'] + for c in main_ns.classes(): + for m in c.member_functions(allow_empty=True): + for e in excludes: + if e in m.decl_string: + m.exclude() + + # problem with a constructor on Cloth + main_ns.class_('::NxOgre::Cloth').constructor(arg_types=[None,'::NxClothDesc','::NxMeshData',None,None]).exclude() + + # functions specified in the headers but not implemented + main_ns.class_('::NxOgre::Blueprints::ActorBlueprint').member_function('unserialise',arg_types=[None]).exclude() + + +# # # +# # # ### Member Functions + excludes=[ + '::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::List<NxOgre::RemoteDebuggerConnection::Camera>::destroyAndEraseAll' + ,'::NxOgre::List<NxOgre::RemoteDebuggerConnection::Camera>::dumpToConsole' + ,'::NxOgre::UserAllocator::realloc' + ,'::NxOgre::Cloth::duplicate' + ,'::NxOgre::ClothRayCaster::getClosestCloth' + ,'::NxOgre::Joint::getBreakableMaxForce' + ,'::NxOgre::Joint::getBreakableMaxTorque' + ,'::NxOgre::Joint::getGlobalAxis' + ,'::NxOgre::Joint::setGlobalAxis' + ,'::NxOgre::JointParams::setSpring' + ,'::NxOgre::JointParams::setMotor' + ,'::NxOgre::JointParams::setLimits' + ,'::NxOgre::JointParams::setJointProjection' + ,'::NxOgre::Scene::addMaterialPairsFromFile' + ,'::NxOgre::Scene::addMaterialPair' + ,'::NxOgre::Fluid::setName' + ,'::NxOgre::Fluid::getNxScene' + ,'::NxOgre::RayCaster::castBounds' + ,'::NxOgre::Scene::getSimType' + ,'::NxOgre::Scene::getGravity' + ,'::NxOgre::Scene::createSphericalJoint' + ,'::NxOgre::Scene::createPrismaticJoint' + ,'::NxOgre::Scene::createFixedJoint' + ,'::NxOgre::Scene::save' + ,'::NxOgre::Scene::batchDestroyActors' + ,'::NxOgre::SimpleIntersection::getResult' + ,'::NxOgre::SoftBody::simulate' + ,'::NxOgre::SoftBody::render' + + ,'::NxOgre::FileResourceSystem::getStream' # takes ::NxOgre::ResourceIdentifier as argument which needs fixing + ,'::NxOgre::OgreResourceSystem::getStream' + ,'::NxOgre::ResourceSystem::getStream' + ,'::NxOgre::RenderableSource::getStringType' # so we don't need a wrapper as it doesn't compile + ,'::NxOgre::RenderableSource::getType' + ,'::NxOgre::UserAllocator::mallocDEBUG' + +# ,'::NxOgre::Blueprints::ActorFactory' # not implemented, only in header.. + ,'::NxOgre::ContactStream::getShape' + ,'::NxOgre::ContactStream::getPatchNormal' + ,'::NxOgre::ContactStream::getPoint' + ,'::NxOgre::ContactStream::getNxActor' + ,'::NxOgre::ContactStream::getActor' + ,'::NxOgre::MemoryStream::skip' + ,'::NxOgre::MemoryStream::seek' + ,'::NxOgre::WheelSet::setMotorTorque' + ,'::NxOgre::WheelSet::setBrakeTorque' + ,'::NxOgre::WheelSet::turn' + ,'::NxOgre::Material::setDirOfAnisotropy' + ,'::NxOgre::OgreNodeRenderable::addSceneNode' +# ,'::NxOgre::ResourceStreamPtr::ResourceStreamPtr' + ,'::NxOgre::MaterialAlias::generateConversionList' + + ] + for e in excludes: + print "excluding ", e + main_ns.member_functions(e).exclude() + + ## this is probably excessive :) + names = ['_begin','_end', '_atEnd', '_next'] + for f in main_ns.member_functions(): + if f.name in names: + print "excluding MF:", f.name, f + f.exclude() + elif f.name.startswith('getActors'): # these return 'Actors' which doesn't exist + print "excluding MF:", f.name + f.exclude() + + ### Free Functions + excludes = [] + for e in excludes: + main_ns.free_functions(e).exclude() + + ## Classes + excludes = [ + 'DistanceJoint' ## constructor issue TOFIX + ,'JointCallback' ## also no suitable/defaul constructor TOFIX + ,'Character' ## defined in header but not very much implementation +# ,'RenderableSource' + ,'ResourceManager' +# ,'ResourceStreamPtr' + ,'::NxOgre::Blueprints::ActorFactory' + ,'State' + ,'MeshResource' + ,'::NxOgre::Serialiser::SerialiserBase' + ] + for e in excludes: + print "Excluding", e + main_ns.class_(e).exclude() +# # # +# # # + ## I have a challenge that Py++ doesn't recognise these classes by full name (perhaps because they are structs?) + ## so I have to look through and match on a class by class basis + excludeName = ['Container<NxOgre::Scene::Renderables, float>' + ,'Container<std::string, NxOgre::Actor*>' + ,'List<NxOgre::CharacterHitReport*>' + ,'List<NxOgre::RemoteDebuggerConnection::Camera>' + ,'List<NxOgre::Blueprints::ActorBlueprint*>' + ,'Container<std::string, NxOgre::Joint*>' + ] + for c in main_ns.classes(): +# print c.decl_string + print ("Checking:",c.name) + if c.name in excludeName: + print ("SPECIAL excluding ", c.name) + c.exclude() + # a temporary fix for container based classes -- still an issue with them though... + # AND this is an overkill -- not all classes need these removed... + if c.decl_string.startswith ('::NxOgre::Container<'): + for f in c.member_functions(allow_empty=True): + if f.name in ['begin','get','next','destroyAndEraseAll','destroyAllOwned','CopyTo']: + f.exclude() + + ### Variables + excludes = ['::NxOgre::WheelSet::mEngine' # desctuctor in WheelSet is protected so can't wrap this.. + ] + for e in excludes: + main_ns.variable(e).exclude() + + ### Typedefs + excludes = [ + ] + for e in excludes: + main_ns.typedefs(e).exclude() + + ### Operators + excludes=['::NxOgre::Container<std::string, NxOgre::FluidDrain*>::operator[]' + ,'::NxOgre::Container<std::string, NxOgre::FluidEmitter*>::operator[]'] + for e in excludes: + main_ns.operators(e).exclude() + + ### Constructors + for c in main_ns.class_('::NxOgre::Pose').constructors(): ## these hide the working constructors + for a in c.arguments: + if 'NxVec3' in a.type.decl_string or 'NxQuat' in a.type.decl_string: + c.exclude() + break +# # # + +############################################################ +## +## And there are things that manually need to be INCLUDED +## +############################################################ + +def ManualInclude ( mb ): + global_ns = mb.global_ns + main_ns = global_ns.namespace( MAIN_NAMESPACE ) +# for f in main_ns.member_functions(): +# print f +# sys.exit() + c=main_ns.class_('ClothVertex') + c.include() + for m in c.member_functions(): + m.exclude() + c.member_function('getGlobalPosition').include() ## this is the only function implemented + +# # global_ns.namespace( 'Ogre' ).class_('AxisAlignedBox').include(already_exposed=True) +# # global_ns.namespace( 'Ogre' ).class_('Radian').include(already_exposed=True) +# # global_ns.namespace( 'Ogre' ).class_('SceneNode').include(already_exposed=True) +# # global_ns.namespace( 'Ogre' ).class_('IndexData').include(already_exposed=True) +# # global_ns.namespace( 'Ogre' ).class_('SceneManager').include(already_exposed=True) +# # global_ns.namespace( 'Ogre' ).class_('Vector3').include(already_exposed=True) +# # global_ns.namespace( 'Ogre' ).class_('Matrix4').include(already_exposed=True) +# # global_ns.namespace( 'Ogre' ).class_('Degree').include(already_exposed=True) +# # global_ns.namespace( 'Ogre' ).class_('Quaternion').include(already_exposed=True) +# # global_ns.namespace( 'Ogre' ).class_('Node').include(already_exposed=True) +# # global_ns.namespace( 'Ogre' ).class_('Serializer').include(already_exposed=True) +# # global_ns.namespace( 'Ogre' ).class_('FrameListener').include(already_exposed=True) +# # global_ns.namespace( 'Ogre' ).class_('Matrix3').include(already_exposed=True) +# # global_ns.namespace( 'Ogre' ).class_('Material').include(already_exposed=True) +# # global_ns.namespace( 'Ogre' ).class_('Camera').include(already_exposed=True) +# # global_ns.namespace( 'Ogre' ).class_('MeshPtr').include(already_exposed=True) +# # global_ns.namespace( 'Ogre' ).class_('FrameEvent').include(already_exposed=True) +# # global_ns.namespace( 'Ogre' ).class_('Root').include(already_exposed=True) +# # global_ns.namespace( 'Ogre' ).class_('Entity').include(already_exposed=True) +# # global_ns.namespace( 'Ogre' ).class_('SubMesh').include(already_exposed=True) + + + +############################################################ +## +## And things that need manual fixes, but not necessarly hand wrapped +## +############################################################ +def ManualFixes ( mb ): + + global_ns = mb.global_ns + + # fix issue where the namespace isn't in the default values + main_ns = global_ns.namespace( MAIN_NAMESPACE ) + + for c in main_ns.constructors(): + for a in c.arguments: + if a.default_value and a.default_value.startswith("param"): + t1,t2=a.default_value.split('<') + a.default_value="NxOgre::"+t1+"<NxOgre::"+t2 + elif a.default_value and a.default_value == 'IN_ORDER': + a.default_value = 'NxOgre::NxIterator::IN_ORDER' + for c in main_ns.member_functions(): + for a in c.arguments: + if a.default_value and a.default_value.startswith("param"): + t1,t2=a.default_value.split('<') + a.default_value="NxOgre::"+t1+"<NxOgre::"+t2 + + +############################################################ +## +## And things that need to have their argument and call values fixed. +## ie functions that pass pointers in the argument list and of course we need +## to read the updated values - so instead we pass them back +## as new values in a tuple (ETC ETC) +## +############################################################ + +def ManualTransformations ( mb ): + global_ns = mb.global_ns + main_ns = global_ns.namespace( MAIN_NAMESPACE ) + + def create_output( size ): + return [ ft.output( i ) for i in range( size ) ] +# c = main_ns.mem_fun('::NxOgre::Cloth::raycast') +# c.add_transformation(ft.inout('vertexId')) +# c.documentation = docit('','VertexId is in/out','bool, vertexId') + +# for x in ns.member_functions('::NxOgre::Params::Set'): +# x.add_transformation(ft.inout("arg2")) +# x.documentation = docit ("", "arg2 is an in/out","ret,arg2" ) + +############################################################################### +## +## Now for the AUTOMATIC stuff that should just work +## +############################################################################### + + +def AutoExclude( mb ): + """ Automaticaly exclude a range of things that don't convert well from C++ to Python + """ + global_ns = mb.global_ns + main_ns = global_ns.namespace( MAIN_NAMESPACE ) + + # vars that are static consts but have their values set in the header file are bad + Remove_Static_Consts ( main_ns ) + + ## Exclude protected and private that are not pure virtual + query = ~declarations.access_type_matcher_t( 'public' ) \ + & ~declarations.virtuality_type_matcher_t( declarations.VIRTUALITY_TYPES.PURE_VIRTUAL ) + non_public_non_pure_virtual = main_ns.calldefs( query ) + non_public_non_pure_virtual.exclude() + + #Virtual functions that return reference could not be overriden from Python + query = declarations.virtuality_type_matcher_t( declarations.VIRTUALITY_TYPES.VIRTUAL ) \ + & declarations.custom_matcher_t( lambda decl: declarations.is_reference( decl.return_type ) ) + try: + main_ns.calldefs( query ).virtuality = declarations.VIRTUALITY_TYPES.NOT_VIRTUAL + except: + pass + +def AutoInclude( mb ): + main_ns = mb.global_ns ## doesn't have it's own namespace.. +# # for cls in main_ns.classes(): +# # try: +# # if cls.decl_string[2:4]=='Nx' and cls.decl_string[4].isupper(): +# # cls.include() +# # except: +# # pass +# # ## and we'll need the free functions as well +# # for funcs in main_ns.free_functions (): +# # if funcs.name[0:2]=='Nx' and funcs.name[2].isupper(): +# # funcs.include() +# # +# # for var in main_ns.variables (): +# # # print "checking var ", var.name +# # if len(var.name) > 2: +# # if var.name[0:2]=='Nx' and var.name[2].isupper(): +# # var.include() +# # for var in main_ns.typedefs (): +# # # print "checking typedef ", var.name +# # if len(var.name) > 2: +# # if var.name[0:2]=='Nx' and var.name[2].isupper(): +# # var.include() +# # + + +def AutoFixes ( mb ): + """ now we fix a range of things automatically - typically by going through + the entire name space trying to guess stuff and fix it:) + """ + global_ns = mb.global_ns + main_ns = global_ns.namespace( MAIN_NAMESPACE ) + + # arguments passed as refs but not const are not liked by boost + #Fix_Ref_Not_Const ( main_ns ) + + # Functions that have void pointers in their argument list need to change to unsigned int's +# # Fix_Void_Ptr_Args ( main_ns ) + + # and change functions that return a variety of pointers to instead return unsigned int's + pointee_types=['unsigned int','int', 'float', '::Ogre::Real', '::Ogre::uchar', '::Ogre::uint8', 'unsigned char', 'char'] + ignore_names=['ptr', 'useCountPointer'] # these are function names we know it's cool to exclude + common_utils.Fix_Pointer_Returns ( main_ns, pointee_types, ignore_names ) + + # functions that need to have implicit conversions turned off + ImplicitClasses=[] + common_utils.Fix_Implicit_Conversions ( main_ns, ImplicitClasses ) + + + if os.name =='nt': + Fix_NT( mb ) + elif os.name =='posix': + Fix_Posix( mb ) + + common_utils.Auto_Document( mb, MAIN_NAMESPACE ) + + +############################################################################### +## +## here are the helper functions that do much of the work +## +############################################################################### +def Fix_Posix ( mb ): + """ fixup for posix specific stuff -- note only expect to be called on a posix machine + """ + ## we could do more here if need be... + if sys.platform == 'darwin': + pass + elif sys.platform.startswith ('linux'): + pass + + +def Fix_NT ( mb ): + """ fixup for NT systems + """ + + +def Fix_Implicit_Conversions ( mb ): + """By default we disable explicit conversion, however sometimes it makes sense + """ + return +# for c in mb.classes(): +# if c.name.endswith ('Params'): +# print "Implicit Conversion:", c +# for con in c.constructors(): +# print con.decl_string +# con.allow_implicit_conversion = True + + ImplicitClasses=['::NxOgre::Pose'] + for className in ImplicitClasses: + for c in mb.class_(className).constructors(): + print "Checking", c.decl_string + if "Quat" in c.decl_string or "Real" in c.decl_string: ## exclude quats as cause issues + c.allow_implicit_conversion = False + print "NOT OK" + elif "Vector" in c.decl_string : + c.allow_implicit_conversion = True + print "OK" + else: + print "NOT OK" + for op in mb.class_(className).operators(): + print "Checking **", op.decl_string + + +def Add_Auto_Conversions( mb ): + pass + + +def Set_Call_Policies( mb ): + """ set the return call policies on classes that this hasn't already been done for. + Set the default policy to deal with pointer/reference return types to reference_existing object + """ + mem_funs = mb.calldefs () + mem_funs.create_with_signature = True #Generated code will not compile on + #MSVC 7.1 if function has throw modifier. + for mem_fun in mem_funs: + if mem_fun.call_policies: + continue + if not mem_fun.call_policies and \ + (declarations.is_reference (mem_fun.return_type) or declarations.is_pointer (mem_fun.return_type) ): + mem_fun.call_policies = call_policies.return_value_policy( + call_policies.reference_existing_object ) + + +def Set_Exception(mb): + pass + #~ """We don't exclude Exception, because it contains functionality, that could + #~ be useful to user. But, we will provide automatic exception translator + #~ """ + #~ Exception = mb.namespace( 'Ogre' ).class_( 'Exception' ) + #~ Exception.include() + #~ Exception.mem_fun('what').exclude() # declared with empty throw + #~ Exception.mem_fun('getNumber').exclude() # declared with empty throw + #~ Exception.translate_exception_to_string( 'PyExc_RuntimeError', 'exc.getFullDescription().c_str()' ) + + +def _ReturnUnsignedInt( type_ ): + """helper to return an UnsignedInt call for tranformation functions + """ + return declarations.cpptypes.unsigned_int_t() + +def Fix_Void_Ptr_Args ( mb ): + """ we modify functions that take void *'s in their argument list to instead take + unsigned ints, which allows us to use CTypes buffers + """ + for fun in mb.member_functions(): + arg_position = 0 + for arg in fun.arguments: + if declarations.type_traits.is_void_pointer(arg.type): + fun.add_transformation( ft.modify_type(arg_position,_ReturnUnsignedInt ) ) + fun.documentation = docit ("Modified Input Argument to work with CTypes", + "Argument "+arg.name+ "(pos:" + str(arg_position)\ + +") takes a CTypes.adddressof(xx)", "...") + #print "Fixed Void Ptr", fun, arg_position + break + arg_position +=1 + + ## lets go and look for stuff that might be a problem + pointee_types=['unsigned int',' int ', ' float ', ' Real ', 'uchar', 'uint8', + 'unsigned char'] + + function_names=[] + for fun in mb.member_functions(): + if fun.documentation or fun.ignore: continue ## means it's been tweaked somewhere else + for n in function_names: + if n in fun.name: + print "CHECK :", fun + break + arg_position = 0 + for arg in fun.arguments: + if declarations.is_pointer(arg.type): ## and "const" not in arg.type.decl_string: + for i in pointee_types: + if i in arg.type.decl_string: + print '"',arg.type.decl_string, '"' + print "CHECK ", fun, str(arg_position) + fun.documentation=docit("SUSPECT - MAYBE BROKEN", "....", "...") + break + arg_position +=1 + +## NEED To do the same for constructors + for fun in mb.constructors(): + arg_position = 0 + for arg in fun.arguments: + if declarations.is_pointer(arg.type): ## and "const" not in arg.type.decl_string: + for i in pointee_types: + if i in arg.type.decl_string: + print '"',arg.type.decl_string, '"' + print "Excluding: ", fun + fun.exclude() + break + arg_position +=1 + +def Fix_Pointer_Returns ( mb ): + """ Change out functions that return a variety of pointer to base types and instead + have them return the address the pointer is pointing to (the pointer value) + This allow us to use CTypes to handle in memory buffers from Python + + Also - if documentation has been set then ignore the class/function as it means it's been tweaked else where + """ + pointee_types=['unsigned int','int', 'float', 'unsigned char'] + known_names=[] # these are function names we know it's cool to exclude + for fun in mb.member_functions(): + if declarations.is_pointer (fun.return_type) and not fun.documentation: + for i in pointee_types: + if fun.return_type.decl_string.startswith ( i ) and not fun.documentation: + if not fun.name in known_names: + print "Excluding (function):", fun, "as it returns (pointer)", i + fun.exclude() + for fun in mb.member_operators(): + if declarations.is_pointer (fun.return_type) and not fun.documentation: + for i in pointee_types: + if fun.return_type.decl_string.startswith ( i ) and not fun.documentation: + print "Excluding (operator):", fun + fun.exclude() + + + +def query_containers_with_ptrs(decl): + if not isinstance( decl, declarations.class_types ): + return False + if not decl.indexing_suite: + return False + return declarations.is_pointer( decl.indexing_suite.element_type ) + + +def Remove_Static_Consts ( mb ): + """ linux users have compile problems with vars that are static consts AND have values set in the .h files + we can simply leave these out """ + checker = varchecker.var_checker() + for var in mb.vars(): + if type(var.type) == declarations.cpptypes.const_t: + if checker( var ): + print "Excluding static const ", var + var.exclude() + +# +# the 'main'function +# +def generate_code(): + messages.disable( +# Warnings 1020 - 1031 are all about why Py++ generates wrapper for class X + messages.W1020 + , messages.W1021 + , messages.W1022 + , messages.W1023 + , messages.W1024 + , messages.W1025 + , messages.W1026 + , messages.W1027 + , messages.W1028 + , messages.W1029 + , messages.W1030 + , messages.W1031 + , messages.W1035 + , messages.W1040 + , messages.W1038 + , messages.W1039 + , messages.W1041 + , messages.W1036 # pointer to Python immutable member + , messages.W1033 # unnamed variables + , messages.W1018 # expose unnamed classes + , messages.W1049 # returns reference to local variable + , messages.W1014 # unsupported '=' operator + ) + # + # Use GCCXML to create the controlling XML file. + # If the cache file (../cache/*.xml) doesn't exist it gets created, otherwise it just gets loaded + # NOTE: If you update the source library code you need to manually delete the cache .XML file + # + xml_cached_fc = parser.create_cached_source_fc( + os.path.join( environment.nxogre_0.9.root_dir, "python_nxogre.h" ) + , environment.nxogre_0.9.cache_file ) + if os.name == 'nt': + defined_symbols = [ 'NxExport','OGRE_NONCLIENT_BUILD', 'OGRE_GCC_VISIBILITY', 'WIN32', 'GCC_XML']#NXOGRE_EXPORTS' + else: + defined_symbols = [ 'LINUX','NX_LINUX', 'NX_DISABLE_FLUIDS', 'OGRE_NONCLIENT_BUILD', 'OGRE_GCC_VISIBILITY', 'GCC_XML'] + + if environment._USE_THREADS: + defined_symbols.append('BOOST_HAS_THREADS') + defined_symbols.append('BOOST_HAS_WINTHREADS') + defined_symbols.append( 'VERSION_' + environment.nxogre_0.9.version ) + + undefined_symbols = [] + # + # build the core Py++ system from the GCCXML created source + # + mb = module_builder.module_builder_t( [ xml_cached_fc ] + , gccxml_path=environment.gccxml_bin + , working_directory=environment.root_dir + , include_paths=environment.nxogre_0.9.include_dirs + , define_symbols=defined_symbols +# # , undefine_symbols = undefined_symbols + , indexing_suite_version=2 + , cflags=environment.ogre.cflags + ) + # NOTE THE CHANGE HERE + mb.constructors().allow_implicit_conversion = False + ## This module depends on Ogre and physx + mb.register_module_dependency ( environment.ogre.generated_dir ) + mb.register_module_dependency ( environment.physx.generated_dir ) + + mb.BOOST_PYTHON_MAX_ARITY = 25 + mb.classes().always_expose_using_scope = True + + + # + # We filter (both include and exclude) specific classes and functions that we want to wrap + # + global_ns = mb.global_ns + global_ns.exclude() + main_ns = global_ns.namespace( MAIN_NAMESPACE ) + main_ns.include() + + + AutoExclude ( mb ) + ManualExclude ( mb ) + AutoInclude ( mb ) + ManualInclude ( mb ) + # here we fixup functions that expect to modifiy their 'passed' variables + common_utils.Auto_Functional_Transformation ( main_ns ) #, special_vars=['::Ogre::Real &','::Ogre::ushort &','size_t &'] ) + ManualTransformations ( mb ) + + AutoFixes ( mb ) + ManualFixes ( mb ) + + # + # We need to tell boost how to handle calling (and returning from) certain functions + # + Set_Call_Policies ( mb.global_ns.namespace (MAIN_NAMESPACE) ) + +# # for op in main_ns.operators(): +# # print "op1", op +# # # if op.allow_implicit_conversion: +# # # print "Implicit conversion on operator ", op +# # print dir(op) +# # for op in main_ns.constructors(): +# # print "con1", op +# # if op.allow_implicit_conversion: +# # print "Implicit conversion on constructor ", op +# # print dir(op) +# # for op in main_ns.free_operators(): +# # print "op2", op +# # # if op.allow_implicit_conversion: +# # # print "Implicit conversion on free operator ", op +# # print dir(op) + + # + # the manual stuff all done here !!! + # + hand_made_wrappers.apply( mb ) + + NoPropClasses = [""] + for cls in main_ns.classes(): + if cls.name not in NoPropClasses: + cls.add_properties( recognizer=ogre_properties.ogre_property_recognizer_t() ) + + common_utils.add_constants( mb, { 'PROJECT_version' : '"%s"' % environment.nxogre_0.9.version.replace("\n", "\\\n") + , 'python_version' : '"%s"' % sys.version.replace("\n", "\\\n" ) } ) + + ## need to create a welcome doc string for this... + common_utils.add_constants( mb, { '__doc__' : '"NxOgre 0.9 PROJECT DESCRIPTION"' } ) + + + ########################################################################################## + # + # Creating the code. After this step you should not modify/customize declarations. + # + ########################################################################################## + extractor = exdoc.doc_extractor("") # I'm excluding the UTFstring docs as lots about nothing + mb.build_code_creator (module_name='_nxogre_0.9_' , doc_extractor= extractor ) + + for inc in environment.nxogre_0.9.include_dirs: + mb.code_creator.user_defined_directories.append(inc ) + mb.code_creator.user_defined_directories.append( environment.nxogre_0.9.generated_dir ) + mb.code_creator.replace_included_headers( customization_data.header_files( environment.nxogre_0.9.version ) ) + + huge_classes = map( mb.class_, customization_data.huge_classes( environment.nxogre_0.9.version ) ) + + mb.split_module(environment.nxogre_0.9.generated_dir, huge_classes,use_files_sum_repository=False) + + ## now we need to ensure a series of headers and additional source files are + ## copied to the generaated directory.. + common_utils.copyTree ( sourcePath = environment.Config.PATH_NxOgre_0.9, + destPath = environment.nxogre_0.9.generated_dir, + recursive=False ) + +if __name__ == '__main__': + start_time = time.clock() + generate_code() + print 'Source code was updated( %f minutes ).' % ( ( time.clock() - start_time )/60 ) Added: trunk/python-ogre/code_generators/nxogre_0.9/hand_made_wrappers.py =================================================================== --- trunk/python-ogre/code_generators/nxogre_0.9/hand_made_wrappers.py (rev 0) +++ trunk/python-ogre/code_generators/nxogre_0.9/hand_made_wrappers.py 2008-01-16 05:25:37 UTC (rev 548) @@ -0,0 +1,15 @@ +import os +import environment + + + +################################################################################################# +################################################################################################# + +def apply_reg ( class_, code ): + for c in code: + class_.add_registration_code ( c ) + +def apply( mb ): + pass + \ No newline at end of file Added: trunk/python-ogre/code_generators/nxogre_0.9/python_nxogre.h =================================================================== --- trunk/python-ogre/code_generators/nxogre_0.9/python_nxogre.h (rev 0) +++ trunk/python-ogre/code_generators/nxogre_0.9/python_nxogre.h 2008-01-16 05:25:37 UTC (rev 548) @@ -0,0 +1,24 @@ + +#include "NxOgre.h" +#include "NxOgreSkeleton.h" //missing ?? +#include "NxOgreResourceMesh.h" // not included anywhere by default... +#include "Ogre.h" +#include "OgrePlugin.h" +#include <NxPhysics.h> + +// First we create a magic namespace to hold all our aliases +namespace pyplusplus { namespace aliases { + + #include "python_nxogre_aliases.h" +} } + +// then we exposed everything needed (and more) to ensure GCCXML makes them visible to Py++ +// +namespace python_nxogre{ namespace details{ +inline void instantiate(){ + using namespace NxOgre; + #include "python_nxogre_sizeof.h" + +} } } + + Added: trunk/python-ogre/code_generators/nxogre_0.9/python_nxogre_aliases.h =================================================================== --- trunk/python-ogre/code_generators/nxogre_0.9/python_nxogre_aliases.h (rev 0) +++ trunk/python-ogre/code_generators/nxogre_0.9/python_nxogre_aliases.h 2008-01-16 05:25:37 UTC (rev 548) @@ -0,0 +1,169 @@ +typedef std::vector<NxOgre::Joint::LimitPlane,std::allocator<NxOgre::Joint::LimitPlane> > VectorJointLimitPlane; +typedef std::vector<NxOgre::SimplePlane*,std::allocator<NxOgre::SimplePlane*> > VectorSimplePlane; + +typedef std::vector<float, std::allocator<float> > VectorFloat; +typedef std::vector<std::string, std::allocator<std::string> > VectorString; +typedef std::list<std::string> stdString; +typedef std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > MapPairString; +typedef std::vector<Ogre::Plane, std::allocator<Ogre::Plane> > VectorPlane; +typedef std::vector<Ogre::Vector4, std::allocator<Ogre::Vector4> > VectorVector4; +typedef std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >\ + PairString; + +typedef NxOgre::List<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > ListString; +typedef NxOgre::List<NxOgre::Blueprints::ActorBlueprint*> ListBlueprints; +typedef NxOgre::Container<unsigned, NxOgre::ShapeBlueprint const&> ContainerShapeBlueprint; +//typedef NxOgre::Container<std::string, NxOgre::ActorBlueprint> ContainerActorBlueprint; +//typedef NxOgre::Container<NxOgre::Scene::Renderables, float> ContainerSceneRencerables; +typedef std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,float,std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, float> > >\ + MapStrings; +typedef std::map<unsigned, float, std::less<unsigned>, std::allocator<std::pair<unsigned const, float> > >\ + MapUnsignedFloat; +typedef std::vector<NxOgre::Scene*, std::allocator<NxOgre::Scene*> > VectorScene; +typedef std::list<NxOgre::Blueprints::ActorBlueprint*, std::allocator<NxOgre::Blueprints::ActorBlueprint*> > ListBlueprintsActorBlueprint; +typedef std::list<std::pair<std::string, std::string>, std::allocator<std::pair<std::string, std::string> > >\ + ListPairString; +typedef std::map<std::string, NxOgre::Container<std::string, NxOgre::DominanceGroup*>::Containee, std::less<std::string>, std::allocator<std::pair<std::string const, NxOgre::Container<std::string, NxOgre::DominanceGroup*>::Containee> > >\ + MapContainerDominanceGroup; + + +typedef std::map<std::string, NxOgre::Container<std::string, NxOgre::Scene*>::Containee, std::less<std::string> >\ + MapContainerScene; +typedef std::list<NxOgre::CharacterHitReport*, std::allocator<NxOgre::CharacterHitReport*> > ListCharacterHitReportPtr; +typedef std::list<NxOgre::Wheel*, std::allocator<NxOgre::Wheel*> > ListWheelPtr; +typedef std::map<std::string, NxOgre::Container<std::string, NxOgre::Actor*>::Containee, std::less<std::string> >\ + MapContainerActor; +typedef std::map<std::string, NxOgre::Container<std::string, NxOgre::Cloth*>::Containee, std::less<std::string> >\ + MapContainerCloth; +// typedef std::map<std::string, NxOgre::Container<std::string, NxOgre::Helper*>::Containee, std::less<std::string> >\ +// MapContainerHelper; +typedef std::map<std::string, NxOgre::Container<std::string, NxOgre::Joint*>::Containee, std::less<std::string> >\ + MapContainerJoint; +typedef std::map<std::string, NxOgre::Container<std::string, NxOgre::Material*>::Containee, std::less<std::string> >\ + MapContainerMaterial; +typedef std::map<std::string, NxOgre::Container<std::string, NxOgre::Character*>::Containee, std::less<std::string> >\ + MapContainerCharacter; +typedef std::map<std::string, NxOgre::Container<std::string, NxOgre::Fluid*>::Containee, std::less<std::string> >\ + MapContainerFluid; +typedef std::map<std::string, NxOgre::Container<std::string, NxOgre::FluidDrain*>::Containee, std::less<std::string> >\ + MapContainerFluidDrain; +typedef std::map<std::string, NxOgre::Container<std::string, NxOgre::FluidEmitter*>::Containee, std::less<std::string> >\ + MapContainerFluidEmitter; +typedef std::map<std::string, NxOgre::Container<std::string, NxOgre::SoftBody*>::Containee, std::less<std::string> >\ + MapContainerSoftBody; + +typedef std::map<std::string, NxOgre::Container<std::string, NxOgre::RayCastHit>::Containee, std::less<std::string> >\ + MapContainerRayCastHit; +typedef std::map<std::string, NxOgre::Container<std::string, NxOgre::ShapeGroup*>::Containee, std::less<std::string> >\ + MapContainerShapeGroup; +typedef std::map<std::string, NxOgre::Container<std::string, NxOgre::Trigger*>::Containee, std::less<std::string> >\ + MapContainerTrigger; +typedef std::list<NxOgre::RemoteDebuggerConnection::Camera, std::allocator<NxOgre::RemoteDebuggerConnection::Camera> >\ + ListRemoteDebuggerConnectionCamera; +// typedef std::vector<NxOgre::Summary::Feature> VectorSummaryFeature; +typedef std::map<unsigned, NxOgre::Container<unsigned, NxOgre::Shape*>::Containee, std::less<unsigned> >\ + MapContainerUnsignedShape; +typedef std::map<unsigned, NxOgre::Container<unsigned, NxOgre::ErrorReporter*>::Containee, std::less<unsigned> >\ + MapContainerUnsignedErrorReporter; +typedef std::map<unsigned short, NxOgre::Container<unsigned short, NxOgre::ShapeGroup*>::Containee, std::less<unsigned short> >\ + MapContainerShortShapeGroup; +typedef std::map<unsigned short, NxOgre::Container<unsigned short, NxOgre::ActorGroup*>::Containee, std::less<unsigned short> >\ + MapContainerShortActorGroup; +typedef std::map<unsigned short, NxOgre::Container<unsigned short, NxOgre::Material*>::Containee, std::less<unsigned short> >\ + MapContainerShortMaterial; +typedef std::map<std::string, NxOgre::Container<std::string, unsigned short>::Containee, std::less<std::string> >\ + MapContainerShortString; +typedef std::map<std::string, NxOgre::Container<std::string, NxOgre::ActorGroup*>::Containee, std::less<std::string> >\ + MapContainerActorGroup; + + + + +typedef NxOgre::List<NxOgre::RemoteDebuggerConnection::Camera> ListRemoteCamera; +// this one is protected :( +// typedef std::map<NxOgre::Scene::Renderables, NxOgre::Container<NxOgre::Scene::Renderables, float>::Containee, std::less<NxOgre::Scene::Renderables> >\ +// MapContainerSceneRenderables; + +typedef NxOgre::Container<NxOgre::NxString, NxOgre::RayCastHit> RayCastReport; +typedef NxOgre::Container<NxOgre::NxString, NxOgre::Scene*> Scenes; +typedef NxOgre::Container<NxOgre::NxString, NxOgre::ShapeGroup*> ShapeGroups; +// typedef NxOgre::Container<NxOgre::NxCollisionGroup, NxOgre::ShapeGroup*> ShapeGroupsByIndex; +typedef NxOgre::Container<NxOgre::NxString, NxOgre::Trigger*> Triggers; +typedef NxOgre::List<NxOgre::Wheel*> Wheels; +typedef NxOgre::Container<NxOgre::NxString, NxOgre::Character*> Characters; +typedef NxOgre::List<NxOgre::CharacterHitReport*> CharacterHitReports; +typedef NxOgre::Container<NxOgre::NxString, NxOgre::Fluid*> Fluids; +typedef NxOgre::Container<NxOgre::NxString, NxOgre::FluidDrain*> FluidDrains; +typedef NxOgre::Container<NxOgre::NxString, NxOgre::FluidEmitter*> FluidEmitters; +typedef NxOgre::Container<NxOgre::NxString, NxOgre::SoftBody*> SoftBodies; +typedef std::pair<NxOgre::NxString,NxOgre::NxString> Parameter; +typedef std::vector<Parameter> Parameters; +typedef Ogre::String NxString; +typedef NxOgre::Container<NxOgre::NxString, NxOgre::Actor*> Actors; + +typedef NxOgre::Container<std::string, NxConvexMesh*> NxConvexMeshes; +typedef NxOgre::Container<std::string, NxTriangleMesh*> NxTriangleMeshes; +typedef NxOgre::Container<std::string, NxOgre::MaterialAlias*> MaterialAliases; + +typedef NxOgre::Container<unsigned int, NxTriangleMesh*> NxTriangleMesheInts; +typedef NxOgre::Container<unsigned int, NxOgre::ResourceSystem*> ResourceSystemInts; +typedef NxOgre::Container<unsigned int, NxOgre::MaterialAlias*> MaterialAliasInts; +typedef NxOgre::Container<unsigned int, NxOgre::CharacterMovementModel*> CharacterMovementModelInts; + +// typedef NxOgre::Container<NxOgre::NxString, ::ActorGroup*> ActorGroups; +// typedef NxOgre::Container<NxOgre::NxActorGroup, NxOgre::ActorGroup*> ActorGroupsByIndex; +typedef NxOgre::Container<NxOgre::NxShapeIndex, NxOgre::Shape*> CollisionModel; +//typedef NxOgre::Container<NxOgre::NxShapeIndex, const NxOgre::ShapeDescription&> CollisionDescriptionModel; +typedef NxOgre::Container<NxOgre::NxString, NxOgre::Cloth*> Cloths; +typedef NxOgre::Container<NxOgre::NxErrorIndex, NxOgre::ErrorReporter*> ErrorReporterList; +// // typedef NxOgre::Container<NxOgre::NxString, NxOgre::Helper*> Helpers; +typedef NxOgre::Container<NxOgre::NxString, NxOgre::Joint*> JointsClass; +typedef NxOgre::Container<NxOgre::NxString, NxOgre::Material*> MaterialList; +// typedef NxOgre::Container<NxOgre::NxMaterialIndex, NxOgre::Material*> MaterialListByIndex; +// typedef NxOgre::Container<NxOgre::NxString, NxOgre::NxMaterialIndex> MaterialPair; + +// typedef std::vector<NxOgre::Feature> FeatureSet; +typedef std::map<std::string, NxOgre::Container<std::string, std::string>::Containee, std::less<std::string>, std::allocator<std::pair<std::string const, NxOgre::Container<std::string, std::string>::Containee> > >\ + MapContainerString; +//typedef std::map<std::string, NxOgre::Container<std::string, NxOgre::ActorBlueprint>::Containee, std::less<std::string>, std::allocator<std::pair<std::string const, NxOgre::Container<std::string, NxOgre::ActorBlueprint>::Containee> > >\ +// MapContainerActorBlueprint; +typedef std::map<std::string, NxOgre::Container<std::string, NxOgre::ForceField*>::Containee, std::less<std::string>, std::allocator<std::pair<std::string const, NxOgre::Container<std::string, NxOgre::ForceField*>::Containee> > >\ + MapContainerForceField; +typedef std::map<unsigned, NxOgre::Container<unsigned, NxOgre::ShapeBlueprint const&>::Containee, std::less<unsigned>, std::allocator<std::pair<unsigned const, NxOgre::Container<unsigned, NxOgre::ShapeBlueprint const&>::Containee> > >\ + MapContainerShapeBlueprint; +typedef std::vector<unsigned short, std::allocator<unsigned short> > VectorShort; +typedef std::vector<std::pair<Ogre::Vector3, unsigned>, std::allocator<std::pair<Ogre::Vector3, unsigned> > > VectorPairVector3; +typedef std::set<Ogre::Entity*,std::less<Ogre::Entity*>,std::allocator<Ogre::Entity*> > SetEntity; +typedef NxOgre::Material NxOgreMaterial; +typedef std::map<unsigned, NxOgre::Container<unsigned, NxOgre::Joint*>::Containee, std::less<unsigned>, std::allocator<std::pair<unsigned const, NxOgre::Container<unsigned, NxOgre::Joint*>::Containee> > >\ + MapContainerJointContainee; +typedef std::map<unsigned short, NxOgre::Container<unsigned short, NxOgre::DominanceGroup*>::Containee, std::less<unsigned short>, std::allocator<std::pair<unsigned short const, NxOgre::Container<unsigned short, NxOgre::DominanceGroup*>::Containee> > >\ + MapContainerDominanceGroupContainee; + +typedef std::map<unsigned int, NxOgre::Container<unsigned int, NxOgre::ShapeBlueprint*>::Containee, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, NxOgre::Container<unsigned int, NxOgre::ShapeBlueprint*>::Containee> > >\ + MapContainerShapeBluePrint; +typedef std::map<unsigned int, NxOgre::Container<unsigned int, NxOgre::Machine*>::Containee, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, NxOgre::Container<unsigned int, NxOgre::Machine*>::Containee> > >\ + MapContainerMachine; +typedef std::map<unsigned int, NxOgre::Container<unsigned int, NxOgre::Wheel*>::Containee, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, NxOgre::Container<unsigned int, NxOgre::Wheel*>::Containee> > >\ + MapContainerWheel; +typedef std::map<unsigned int, NxOgre::Container<unsigned int, NxOgre::RenderableSource*>::Containee, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, NxOgre::Container<unsigned int, NxOgre::RenderableSource*>::Containee> > >\ + MapContainerRenderableSource; + +typedef std::map<unsigned int, NxOgre::Container<unsigned int, NxOgre::CharacterMovementModel*>::Containee, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, NxOgre::Container<unsigned int, NxOgre::CharacterMovementModel*>::Containee> > >\ + MapContainerCharacterMovementModel; +typedef std::map<unsigned int, NxOgre::Container<unsigned int, NxOgre::MaterialAlias*>::Containee, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, NxOgre::Container<unsigned int, NxOgre::MaterialAlias*>::Containee> > >\ + MapContainerMaterialAlias; +typedef std::map<unsigned int, NxOgre::Container<unsigned int, NxOgre::ResourceSystem*>::Containee, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, NxOgre::Container<unsigned int, NxOgre::ResourceSystem*>::Containee> > >\ + MapContainerResourceSystem; +typedef std::map<unsigned int, NxOgre::Container<unsigned int, NxTriangleMesh*>::Containee, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, NxOgre::Container<unsigned int, NxTriangleMesh*>::Containee> > >\ + MapContainerNxTriangleMesh; + +typedef std::map<std::string, NxOgre::Container<std::string, NxOgre::MaterialAlias*>::Containee, std::less<std::string>, std::allocator<std::pair<std::string const, NxOgre::Container<std::string, NxOgre::MaterialAlias*>::Containee> > >\ + MapStringContainerMaterialAlias; +typedef std::map<std::string, NxOgre::Container<std::string, NxTriangleMesh*>::Containee, std::less<std::string>, std::allocator<std::pair<std::string const, NxOgre::Container<std::string, NxTriangleMesh*>::Containee> > >\ + MapStringContainerNxTriangleMesh; +typedef std::map<std::string, NxOgre::Container<std::string, NxOgre::CharacterMovementModel*>::Containee, std::less<std::string>, std::allocator<std::pair<std::string const, NxOgre::Container<std::string, NxOgre::CharacterMovementModel*>::Containee> > >\ + MapStringContainerCharacterMovementModel; +typedef std::map<std::string, NxOgre::Container<std::string, NxConvexMesh*>::Containee, std::less<std::string>, std::allocator<std::pair<std::string const, NxOgre::Container<std::string, NxConvexMesh*>::Containee> > >\ + MapStringContainerNxConvexMesh; + \ No newline at end of file Added: trunk/python-ogre/code_generators/nxogre_0.9/python_nxogre_sizeof.h =================================================================== --- trunk/python-ogre/code_generators/nxogre_0.9/python_nxogre_sizeof.h (rev 0) +++ trunk/python-ogre/code_generators/nxogre_0.9/python_nxogre_sizeof.h 2008-01-16 05:25:37 UTC (rev 548) @@ -0,0 +1,63 @@ +// sizeof ( NxControllersHit ); +sizeof ( NxBoxShapeDesc ); +sizeof ( NxPlaneShapeDesc ); +sizeof ( NxControllerManager ); +// sizeof ( NxControllerShapeHit ); +sizeof ( NxPruningStructure ); +sizeof ( NxVec3 ); +sizeof ( NxSceneLimits ); +sizeof ( NxWheelShapeDesc ); +// sizeof ( NxController ); +sizeof ( NxUserRaycastReport ); +// sizeof ( NxControllerAction ); +sizeof ( NxWheelShape ); +sizeof ( NxHeightFieldShapeDesc ); +sizeof ( NxClothMesh ); +sizeof ( NxConvexShapeDesc ); +sizeof ( NxMeshData ); +sizeof ( NxFluid ); +sizeof ( NxHeightFieldAxis ); +sizeof ( NxTriangleMeshShapeDesc ); +sizeof ( NxTriangleMesh ); +sizeof ( NxSweepQueryHit ); +sizeof ( NxSphereShapeDesc ); +sizeof ( NxJointType ); +sizeof ( NxPhysicsSDK ); +sizeof ( NxUserAllocator ); +sizeof ( NxHeightField ); +sizeof ( NxUserContactReport ); +//sizeof ( NxOgre::FluidDrain ); +sizeof ( NxImplicitScreenMesh ); +sizeof ( NxMemoryType ); +sizeof ( NxJointState ); +sizeof ( NxBounds3 ); +sizeof ( NxRaycastHit ); +//sizeof ( NxOgre::FluidEmitter ); +sizeof ( NxContactPairFlag ); +sizeof ( NxClothDesc ); +sizeof ( NxContactPair ); +sizeof ( NxForceMode ); +//sizeof ( NxOgre::Compartment ); +sizeof ( NxCombineMode ); +sizeof ( NxExtendedVec3 ); +sizeof ( NxThreadPriority ); +sizeof ( NxConvexMesh ); +sizeof ( NxContactPair ); +sizeof ( NxSceneLimits ); +sizeof ( NxWheelShape ); +// sizeof ( NxUserControllerHitReport ); +sizeof ( NxSceneDesc ); +sizeof ( NxScene ); +sizeof ( NxPhysicsSDK ); +sizeof ( NxShape ); +sizeof ( NxGroupsMask ); +// sizeof ( NxControllersHit ); +sizeof ( JointCallback ); +sizeof ( JointCallback::JointBreakCallback ); +sizeof(std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >); + +sizeof ( std::pair<std::string, std::string> ); + + + + Added: trunk/python-ogre/code_generators/nxogre_0.9/python_nxogre_sizeof.h.windows =================================================================== --- trunk/python-ogre/code_generators/nxogre_0.9/python_nxogre_sizeof.h.windows (rev 0) +++ trunk/python-ogre/code_generators/nxogre_0.9/python_nxogre_sizeof.h.windows 2008-01-16 05:25:37 UTC (rev 548) @@ -0,0 +1,63 @@ +sizeof ( NxControllersHit ); +sizeof ( NxBoxShapeDesc ); +sizeof ( NxPlaneShapeDesc ); +sizeof ( NxControllerManager ); +sizeof ( NxControllerShapeHit ); +sizeof ( NxPruningStructure ); +sizeof ( NxVec3 ); +sizeof ( NxSceneLimits ); +sizeof ( NxWheelShapeDesc ); +sizeof ( NxController ); +sizeof ( NxUserRaycastReport ); +sizeof ( NxControllerAction ); +sizeof ( NxWheelShape ); +sizeof ( NxHeightFieldShapeDesc ); +sizeof ( NxClothMesh ); +sizeof ( NxConvexShapeDesc ); +sizeof ( NxMeshData ); +sizeof ( NxFluid ); +sizeof ( NxHeightFieldAxis ); +sizeof ( NxTriangleMeshShapeDesc ); +sizeof ( NxTriangleMesh ); +sizeof ( NxSweepQueryHit ); +sizeof ( NxSphereShapeDesc ); +sizeof ( NxJointType ); +sizeof ( NxPhysicsSDK ); +sizeof ( NxUserAllocator ); +sizeof ( NxHeightField ); +sizeof ( NxUserContactReport ); +//sizeof ( NxOgre::FluidDrain ); +sizeof ( NxImplicitScreenMesh ); +sizeof ( NxMemoryType ); +sizeof ( NxJointState ); +sizeof ( NxBounds3 ); +sizeof ( NxRaycastHit ); +//sizeof ( NxOgre::FluidEmitter ); +sizeof ( NxContactPairFlag ); +sizeof ( NxClothDesc ); +sizeof ( NxContactPair ); +sizeof ( NxForceMode ); +//sizeof ( NxOgre::Compartment ); +sizeof ( NxCombineMode ); +sizeof ( NxExtendedVec3 ); +sizeof ( NxThreadPriority ); +sizeof ( NxConvexMesh ); +sizeof ( NxContactPair ); +sizeof ( NxSceneLimits ); +sizeof ( NxWheelShape ); +sizeof ( NxUserControllerHitReport ); +sizeof ( NxSceneDesc ); +sizeof ( NxScene ); +sizeof ( NxPhysicsSDK ); +sizeof ( NxShape ); +sizeof ( NxGroupsMask ); +sizeof ( NxControllersHit ); +sizeof ( JointCallback ); +sizeof ( JointCallback::JointBreakCallback ); +sizeof(std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >); + +sizeof ( std::pair<std::string, std::string> ); + + + + Added: trunk/python-ogre/code_generators/nxogre_0.9/register_exceptions.py =================================================================== --- trunk/python-ogre/code_generators/nxogre_0.9/register_exceptions.py (rev 0) +++ trunk/python-ogre/code_generators/nxogre_0.9/register_exceptions.py 2008-01-16 05:25:37 UTC (rev 548) @@ -0,0 +1,137 @@ +import os +import environment +from string import Template + +base_exception = \ +""" +class OgreException(Exception): + def __init__( self, app_error ): + Exception.__init__( self ) + self._pimpl = app_error + + def __str__( self ): + return self._pimpl.getFullDescription() + + def __getattribute__(self, attr): + my_pimpl = super(OgreException, self).__getattribute__("_pimpl") + try: + return getattr(my_pimpl, attr) + except AttributeError: + return super(OgreException,self).__getattribute__(attr) + +_ogre_.OgreException = OgreException +#this one for backward compatability +_ogre_.Exception = OgreException +_ogre_._Exception_.py_err_class = OgreException +""".strip() + +derived_py_exception = \ +""" +class Ogre${err_class}(OgreException): + def __init__( self, app_error ): + OgreException.__init__( self, app_error ) + + def __getattribute__(self, attr): + return super(Ogre${err_class},self).__getattribute__(attr) + +_ogre_._${err_class}_.py_err_class = Ogre${err_class} +_ogre_.Ogre${err_class} = Ogre${err_class} +""".strip() + +register_translator = """${err_class}_exception_translator();""" + +exception_translator = \ +""" + +struct ${err_class}_exception_translator{ + + typedef Ogre::${err_class} exception_type; + typedef ${err_class}_exception_translator translator_type; + + ${err_class}_exception_translator(){ + bp::converter::registry::push_back( &translator_type::convertible + , &translator_type::construct + , bp::type_id<exception_type>() ); + + bp::register_exception_translator<exception_type>(&translator_type::translate); + } + + static void + translate( const exception_type& err ){ + bp::object pimpl_err( err ); + bp::object pyerr_class = pimpl_err.attr( "py_err_class" ); + bp::object pyerr = pyerr_class( pimpl_err ); + PyErr_SetObject( pyerr_class.ptr(), bp::incref( pyerr.ptr() ) ); + } + + //Sometimes, exceptions should be passed back to the library. + static void* + convertible(PyObject* py_obj){ + if( 1 != PyObject_IsInstance( py_obj, PyExc_Exception ) ){ + return 0; + } + + if( !PyObject_HasAttrString( py_obj, "_pimpl" ) ){ + return 0; + } + + bp::object pyerr( bp::handle<>( bp::borrowed( py_obj ) ) ); + bp::object pimpl = bp::getattr( pyerr, "_pimpl" ); + bp::extract<exception_type> type_checker( pimpl ); + if( !type_checker.check() ){ + return 0; + } + return py_obj; + } + + static void + construct( PyObject* py_obj, bp::converter::rvalue_from_python_stage1_data* data){ + typedef bp::converter::rvalue_from_python_storage<exception_type> storage_t; + + bp::object pyerr( bp::handle<>( bp::borrowed( py_obj ) ) ); + bp::object pimpl = bp::getattr( pyerr, "_pim... [truncated message content] |
From: <and...@us...> - 2008-01-30 00:12:40
|
Revision: 558 http://python-ogre.svn.sourceforge.net/python-ogre/?rev=558&view=rev Author: andy_miller Date: 2008-01-29 16:12:44 -0800 (Tue, 29 Jan 2008) Log Message: ----------- Fix to addPoly function in OgreNewt, changes to Forests underlying api Modified Paths: -------------- trunk/python-ogre/code_generators/ogreforests/hand_made_wrappers.py trunk/python-ogre/code_generators/ogrenewt/generate_code.py trunk/python-ogre/code_generators/ogrenewt/hand_made_wrappers.py Modified: trunk/python-ogre/code_generators/ogreforests/hand_made_wrappers.py =================================================================== --- trunk/python-ogre/code_generators/ogreforests/hand_made_wrappers.py 2008-01-22 09:17:13 UTC (rev 557) +++ trunk/python-ogre/code_generators/ogreforests/hand_made_wrappers.py 2008-01-30 00:12:44 UTC (rev 558) @@ -5,12 +5,12 @@ """ static PyObject* mSubscriber_tree; static std::string mName_tree; -Ogre::Real HelperHeightFunction_Tree2D ( Ogre::Real x, Ogre::Real z) { +Ogre::Real HelperHeightFunction_Tree2D ( Ogre::Real x, Ogre::Real z, void *userData) { Ogre::Real y; if (mName_tree.length() == 0 ) - y = boost::python::call<Ogre::Real>(mSubscriber_tree, x, z); + y = boost::python::call<Ogre::Real>(mSubscriber_tree, x, z, userData); else - y = boost::python::call_method<Ogre::Real>(mSubscriber_tree, mName_tree.c_str(), x, z); + y = boost::python::call_method<Ogre::Real>(mSubscriber_tree, mName_tree.c_str(), x, z, userData); return y; } @@ -25,12 +25,12 @@ """ static PyObject* mSubscriber_grass; static std::string mName_grass; -Ogre::Real HelperHeightFunction_Grass ( Ogre::Real x, Ogre::Real z) { +Ogre::Real HelperHeightFunction_Grass ( Ogre::Real x, Ogre::Real z, void * userData) { Ogre::Real y; if (mName_grass.length() == 0 ) - y = boost::python::call<Ogre::Real>(mSubscriber_grass, x, z); + y = boost::python::call<Ogre::Real>(mSubscriber_grass, x, z, userData ); else - y = boost::python::call_method<Ogre::Real>(mSubscriber_grass, mName_grass.c_str(), x, z); + y = boost::python::call_method<Ogre::Real>(mSubscriber_grass, mName_grass.c_str(), x, z, userData); return y; } Modified: trunk/python-ogre/code_generators/ogrenewt/generate_code.py =================================================================== --- trunk/python-ogre/code_generators/ogrenewt/generate_code.py 2008-01-22 09:17:13 UTC (rev 557) +++ trunk/python-ogre/code_generators/ogrenewt/generate_code.py 2008-01-30 00:12:44 UTC (rev 558) @@ -58,6 +58,7 @@ ## these need to be excluded due to callback functions - Have been wrapped ogrenewt_ns.class_( "World" ).member_functions("setLeaveWorldCallback").exclude() + ogrenewt_ns.class_( "Body" ).member_functions("addBouyancyForce").exclude() ogrenewt_ns.class_( "Body" ).member_functions("setAutoactiveCallback").exclude() @@ -75,6 +76,10 @@ ogrenewt_ns.class_( "Joint" ).member_functions("setUserData").exclude() ogrenewt_ns.class_( "Body" ).member_functions("getUserData").exclude() ogrenewt_ns.class_( "Joint" ).member_functions("getUserData").exclude() + + ## This one needs a list of vertices given to it + ogrenewt_ns.class_( "TreeCollision" ).member_functions("addPoly").exclude() + # ConvexHull has an overloaded constructor that takes 5 args, one is a pointer to a list of vectors which we can't # handle, so we created a helper function caller createConvexHull that takes a python list instead. Modified: trunk/python-ogre/code_generators/ogrenewt/hand_made_wrappers.py =================================================================== --- trunk/python-ogre/code_generators/ogrenewt/hand_made_wrappers.py 2008-01-22 09:17:13 UTC (rev 557) +++ trunk/python-ogre/code_generators/ogrenewt/hand_made_wrappers.py 2008-01-30 00:12:44 UTC (rev 558) @@ -398,6 +398,37 @@ 'def ("setAutoactiveCallback", &::Body_setAutoactiveCallback);', 'def ("setCustomTransformCallback", &::Body_setCustomTransformCallback);' ] + + + +WRAPPER_DEFINITION_TreeCollision=\ +""" +void +TreeCollision_addPoly( ::OgreNewt::CollisionPrimitives::TreeCollision & me, boost::python::list polys, unsigned int ID ) + { + + Ogre::Vector3* newverts = new Ogre::Vector3[ 3 ]; + Ogre::Vector3* startpos = newverts; + int index; + if (len(polys) < 3 ) { + throw std::runtime_error ( std::string ("addPoly called with a list with less than 3 verticies") ); + return; + } + for (index=0;index<3;index++ ) { + *newverts++ = boost::python::extract<Ogre::Vector3> (polys[index]); + } + me.addPoly( startpos, ID ); + return; + } + """ +WRAPPER_REGISTRATION_TreeCollision= [ + """def ("addPoly", &::TreeCollision_addPoly,\ + "Python-Ogre Helper Function: Adds a list of 3 Ogre:Vector3's to the collision system.\\n\\ + Input: List of 3 Ogre::Vector3's, ID\\n\\ + Output: Nothing" );""" + ] + + ######################################################################################## WRAPPER_DEFINITION_General=\ """ @@ -458,6 +489,10 @@ cs.add_declaration_code( WRAPPER_DEFINITION_BodyIterator ) apply_reg (cs, WRAPPER_REGISTRATION_BodyIterator ) + cs = mb.class_( 'TreeCollision' ) + cs.add_declaration_code( WRAPPER_DEFINITION_TreeCollision ) + apply_reg (cs, WRAPPER_REGISTRATION_TreeCollision ) + mb.add_declaration_code( WRAPPER_DEFINITION_General ) apply_reg (mb, WRAPPER_REGISTRATION_General ) \ 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: <and...@us...> - 2008-01-30 02:02:14
|
Revision: 560 http://python-ogre.svn.sourceforge.net/python-ogre/?rev=560&view=rev Author: andy_miller Date: 2008-01-29 18:02:12 -0800 (Tue, 29 Jan 2008) Log Message: ----------- Fix to the Automatice Function transformation code as it wasn't picking up constant void pointers This fixes PixelUtil::unpackColour and a number of other functions Modified Paths: -------------- trunk/python-ogre/code_generators/common_utils/__init__.py trunk/python-ogre/code_generators/ogre/generate_code.py Modified: trunk/python-ogre/code_generators/common_utils/__init__.py =================================================================== --- trunk/python-ogre/code_generators/common_utils/__init__.py 2008-01-30 00:14:01 UTC (rev 559) +++ trunk/python-ogre/code_generators/common_utils/__init__.py 2008-01-30 02:02:12 UTC (rev 560) @@ -203,22 +203,29 @@ arg_position = 0 trans=[] desc="" +# print "Checking", fun.decl_string for arg in fun.arguments: rawarg = declarations.remove_declarated( declarations.remove_const( declarations.remove_reference( declarations.remove_pointer ( arg.type )))) - print arg.type.decl_string + +# print fun.name, arg.type.decl_string, rawarg + + ## now check if the arg is a fundemental type (int float etc), a void + ## or a special .. if declarations.is_arithmetic (rawarg)\ - or declarations.is_void_pointer(arg.type)\ + or declarations.is_void(rawarg)\ or arg.type.decl_string in special_vars: # print "Auto:", arg.type.decl_string," is_integral|floating|void|special|" if declarations.is_pointer(arg.type): #we convert any pointers to unsigned int's +# print "Pointer" trans.append( ft.modify_type(arg_position,_ReturnUnsignedInt ) ) desc = desc +"Argument: "+arg.name+ "( pos:" + str(arg_position) + " - " +\ arg.type.decl_string + " ) takes a CTypes.addressof(xx). \\n" # print fullname,"Ctype Mod for ", arg.name, arg.type.decl_string elif declarations.is_reference(arg.type): +# print "Ref" matched = False for pre in prefix_output: # functions whose name starts in the list are consider output only if fun.name.startswith (pre): @@ -232,6 +239,12 @@ desc = desc + "Argument: "+arg.name+ "( pos:" + str(arg_position) + " - " +\ arg.type.decl_string + " ) converted to an input/output (change to return types).\\n" # print fullname," ft.inout ", arg.name, arg.type.decl_string + else: + pass +# print "Not Handled" + else: + pass +# print "Not valid to process" arg_position += 1 if trans: if fun.documentation: # it's already be tweaked: Modified: trunk/python-ogre/code_generators/ogre/generate_code.py =================================================================== --- trunk/python-ogre/code_generators/ogre/generate_code.py 2008-01-30 00:14:01 UTC (rev 559) +++ trunk/python-ogre/code_generators/ogre/generate_code.py 2008-01-30 02:02:12 UTC (rev 560) @@ -642,12 +642,16 @@ # now we fix up the smart pointers ... Set_Smart_Pointers ( main_ns ) - # Functions that have void pointers in their argument list need to change to unsigned int's - pointee_types=['unsigned int','int', 'float', '::Ogre::Real', '::Ogre::uchar', '::Ogre::uint8', '::Ogre::uint16' - 'unsigned char', 'char', 'bool'] - ignore_names=['Matrices', 'Vertices', 'ExceptionFactory', 'UTFString' ] + ### This is now handled by Auto_Funtional_Transformation... + +# # # # Functions that have void pointers in their argument list need to change to unsigned int's +# # # pointee_types=['unsigned int','int', 'float', '::Ogre::Real', '::Ogre::uchar', '::Ogre::uint8', '::Ogre::uint16' +# # # 'unsigned char', 'char', 'bool'] +# # # ignore_names=['Matrices', 'Vertices', 'ExceptionFactory', 'UTFString' ] # # # common_utils.Fix_Void_Ptr_Args ( main_ns, pointee_types, ignore_names ) + + # and change functions that return a variety of pointers to instead return unsigned int's pointee_types=['unsigned int','int', 'float', '::Ogre::Real', '::Ogre::uchar', '::Ogre::uint8', 'unsigned char', 'char'] ignore_names=['ptr', 'useCountPointer'] # these are function names we know it's cool to exclude This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <and...@us...> - 2008-02-13 09:28:54
|
Revision: 563 http://python-ogre.svn.sourceforge.net/python-ogre/?rev=563&view=rev Author: andy_miller Date: 2008-02-13 01:28:50 -0800 (Wed, 13 Feb 2008) Log Message: ----------- Updates to various module code generation for 1.2 release Modified Paths: -------------- trunk/python-ogre/code_generators/bullet/generate_code.py trunk/python-ogre/code_generators/bullet/python_bullet_aliases.h trunk/python-ogre/code_generators/nxogre/generate_code.py trunk/python-ogre/code_generators/nxogre/python_nxogre.h trunk/python-ogre/code_generators/nxogre/python_nxogre_aliases.h trunk/python-ogre/code_generators/nxogre_09/customization_data.py trunk/python-ogre/code_generators/nxogre_09/generate_code.py trunk/python-ogre/code_generators/nxogre_09/python_nxogre.h trunk/python-ogre/code_generators/nxogre_09/python_nxogre_aliases.h trunk/python-ogre/code_generators/nxogre_09/python_nxogre_sizeof.h trunk/python-ogre/code_generators/ogre/generate_code.py trunk/python-ogre/code_generators/ogre/hand_made_wrappers.py trunk/python-ogre/code_generators/opcode/generate_code.py trunk/python-ogre/code_generators/physx/1 trunk/python-ogre/code_generators/physx/generate_code.py trunk/python-ogre/code_generators/physx/hand_made_wrappers.py trunk/python-ogre/code_generators/quickgui/generate_code.py trunk/python-ogre/code_generators/quickgui/python_quickgui_aliases.h Modified: trunk/python-ogre/code_generators/bullet/generate_code.py =================================================================== --- trunk/python-ogre/code_generators/bullet/generate_code.py 2008-02-13 09:25:34 UTC (rev 562) +++ trunk/python-ogre/code_generators/bullet/generate_code.py 2008-02-13 09:28:50 UTC (rev 563) @@ -60,8 +60,13 @@ for m in c.member_functions(): if m.name in excludes: m.exclude() - excludes=['::btAlignedObjectArray<int>::expand' - ,'::btCollisionDispatcher::getNewManifold' + excludes=['resize', 'expand'] #needs 'T' changed to native class + for c in global_ns.classes(): + if 'btAlignedObjectArray' in c.name: + for m in c.member_functions(): + if m.name in excludes: + m.exclude() + excludes=[ '::btCollisionDispatcher::getNewManifold' ,'::btCollisionDispatcher::defaultNearCallback' ,'::btCollisionDispatcher::getInternalManifoldPointer' ,'::btCollisionDispatcher::getNearCallback' @@ -101,16 +106,16 @@ excludes = ['btAlignedAllocator<btCollisionObject*, 16u>' # ,'btAlignedAllocator<btCollisionShape*, 16>' ,'btAlignedAllocator<int, 16u>' + ,'btAlignedAllocator<float, 16u>' ,'btAlignedAllocator<btPersistentManifold*, 16u>' ,'btAlignedAllocator<btTypedConstraint*, 16u>' ,'btAlignedAllocator<btRaycastVehicle*, 16u>' - - ,'btAlignedObjectArray<btIndexedMesh>' - ,'btAlignedObjectArray<int>' - ,'btAlignedObjectArray<btQuantizedBvhNode>' - ,'btAlignedObjectArray<btOptimizedBvhNode>' - ,'btAlignedObjectArray<btCollisionObject*>' +# ,'btAlignedObjectArray<btIndexedMesh>' +# ,'btAlignedObjectArray<int>' +# ,'btAlignedObjectArray<btQuantizedBvhNode>' +# ,'btAlignedObjectArray<btOptimizedBvhNode>' +# ,'btAlignedObjectArray<btCollisionObject*>' ] for e in excludes: print "excluding class", e Modified: trunk/python-ogre/code_generators/bullet/python_bullet_aliases.h =================================================================== --- trunk/python-ogre/code_generators/bullet/python_bullet_aliases.h 2008-02-13 09:25:34 UTC (rev 562) +++ trunk/python-ogre/code_generators/bullet/python_bullet_aliases.h 2008-02-13 09:28:50 UTC (rev 563) @@ -6,6 +6,7 @@ typedef btAlignedObjectArray<btBvhSubtreeInfo> BvhSubtreeInfoArray; typedef btAlignedAllocator<btWheelInfo, 16> btWheelInfo16; typedef btAlignedObjectArray<int> IntArray; +typedef btAlignedObjectArray<float> FloatArray; typedef btAlignedObjectArray<btVector3> btVector3Array; typedef btAlignedObjectArray<btRaycastVehicle*> btRaycastVehiclePtrArray; typedef btAlignedObjectArray<btTypedConstraint*> btTypesConstraintPtrArray; Modified: trunk/python-ogre/code_generators/nxogre/generate_code.py =================================================================== --- trunk/python-ogre/code_generators/nxogre/generate_code.py 2008-02-13 09:25:34 UTC (rev 562) +++ trunk/python-ogre/code_generators/nxogre/generate_code.py 2008-02-13 09:28:50 UTC (rev 563) @@ -52,6 +52,9 @@ def ManualExclude ( mb ): global_ns = mb.global_ns main_ns = global_ns.namespace( MAIN_NAMESPACE ) + return + + for c in main_ns.classes(): if c.decl_string.startswith('::NxOgre::Container<') and '*' not in c.decl_string: print "EXCLUDING: ", c @@ -158,7 +161,7 @@ ] for e in excludes: print "excluding ", e - main_ns.member_functions(e).exclude() +# # # main_ns.member_functions(e).exclude() ## this is probably excessive :) names = ['_begin','_end', '_atEnd', '_next'] @@ -190,7 +193,7 @@ ] for e in excludes: print "Excluding", e - main_ns.class_(e).exclude() +# # main_ns.class_(e).exclude() # # # # # # ## I have a challenge that Py++ doesn't recognise these classes by full name (perhaps because they are structs?) @@ -207,19 +210,19 @@ print ("Checking:",c.name) if c.name in excludeName: print ("SPECIAL excluding ", c.name) - c.exclude() +# # c.exclude() # a temporary fix for container based classes -- still an issue with them though... # AND this is an overkill -- not all classes need these removed... - if c.decl_string.startswith ('::NxOgre::Container<'): - for f in c.member_functions(allow_empty=True): - if f.name in ['begin','get','next','destroyAndEraseAll','destroyAllOwned','CopyTo']: - f.exclude() +# # if c.decl_string.startswith ('::NxOgre::Container<'): +# # for f in c.member_functions(allow_empty=True): +# # if f.name in ['begin','get','next','destroyAndEraseAll','destroyAllOwned','CopyTo']: +# # f.exclude() ### Variables excludes = ['::NxOgre::WheelSet::mEngine' # desctuctor in WheelSet is protected so can't wrap this.. ] - for e in excludes: - main_ns.variable(e).exclude() +# for e in excludes: +# main_ns.variable(e).exclude() ### Typedefs excludes = [ @@ -230,15 +233,15 @@ ### Operators excludes=['::NxOgre::Container<std::string, NxOgre::FluidDrain*>::operator[]' ,'::NxOgre::Container<std::string, NxOgre::FluidEmitter*>::operator[]'] - for e in excludes: - main_ns.operators(e).exclude() - +# for e in excludes: +# main_ns.operators(e).exclude() +# ### Constructors - for c in main_ns.class_('::NxOgre::Pose').constructors(): ## these hide the working constructors - for a in c.arguments: - if 'NxVec3' in a.type.decl_string or 'NxQuat' in a.type.decl_string: - c.exclude() - break +# # for c in main_ns.class_('::NxOgre::Pose').constructors(): ## these hide the working constructors +# # for a in c.arguments: +# # if 'NxVec3' in a.type.decl_string or 'NxQuat' in a.type.decl_string: +# # c.exclude() +# # break # # # ############################################################ @@ -250,6 +253,7 @@ def ManualInclude ( mb ): global_ns = mb.global_ns main_ns = global_ns.namespace( MAIN_NAMESPACE ) + return # for f in main_ns.member_functions(): # print f # sys.exit() @@ -257,7 +261,7 @@ c.include() for m in c.member_functions(): m.exclude() - c.member_function('getGlobalPosition').include() ## this is the only function implemented +# c.member_function('getGlobalPosition').include() ## this is the only function implemented # # global_ns.namespace( 'Ogre' ).class_('AxisAlignedBox').include(already_exposed=True) # # global_ns.namespace( 'Ogre' ).class_('Radian').include(already_exposed=True) @@ -293,6 +297,7 @@ # fix issue where the namespace isn't in the default values main_ns = global_ns.namespace( MAIN_NAMESPACE ) + return for c in main_ns.constructors(): for a in c.arguments: Modified: trunk/python-ogre/code_generators/nxogre/python_nxogre.h =================================================================== --- trunk/python-ogre/code_generators/nxogre/python_nxogre.h 2008-02-13 09:25:34 UTC (rev 562) +++ trunk/python-ogre/code_generators/nxogre/python_nxogre.h 2008-02-13 09:28:50 UTC (rev 563) @@ -1,7 +1,7 @@ #include "NxOgre.h" -#include "NxOgreSkeleton.h" //missing ?? -#include "NxOgreResourceMesh.h" // not included anywhere by default... +// // #include "NxOgreSkeleton.h" //missing ?? +// // #include "NxOgreResourceMesh.h" // not included anywhere by default... #include "Ogre.h" #include "OgrePlugin.h" #include <NxPhysics.h> Modified: trunk/python-ogre/code_generators/nxogre/python_nxogre_aliases.h =================================================================== --- trunk/python-ogre/code_generators/nxogre/python_nxogre_aliases.h 2008-02-13 09:25:34 UTC (rev 562) +++ trunk/python-ogre/code_generators/nxogre/python_nxogre_aliases.h 2008-02-13 09:28:50 UTC (rev 563) @@ -11,8 +11,8 @@ PairString; typedef NxOgre::List<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > ListString; -typedef NxOgre::List<NxOgre::Blueprints::ActorBlueprint*> ListBlueprints; -typedef NxOgre::Container<unsigned, NxOgre::ShapeBlueprint const&> ContainerShapeBlueprint; +// typedef NxOgre::List<NxOgre::Blueprints::ActorBlueprint*> ListBlueprints; +// typedef NxOgre::Container<unsigned, NxOgre::ShapeBlueprint const&> ContainerShapeBlueprint; //typedef NxOgre::Container<std::string, NxOgre::ActorBlueprint> ContainerActorBlueprint; //typedef NxOgre::Container<NxOgre::Scene::Renderables, float> ContainerSceneRencerables; typedef std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,float,std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, float> > >\ @@ -20,7 +20,7 @@ typedef std::map<unsigned, float, std::less<unsigned>, std::allocator<std::pair<unsigned const, float> > >\ MapUnsignedFloat; typedef std::vector<NxOgre::Scene*, std::allocator<NxOgre::Scene*> > VectorScene; -typedef std::list<NxOgre::Blueprints::ActorBlueprint*, std::allocator<NxOgre::Blueprints::ActorBlueprint*> > ListBlueprintsActorBlueprint; +// typedef std::list<NxOgre::Blueprints::ActorBlueprint*, std::allocator<NxOgre::Blueprints::ActorBlueprint*> > ListBlueprintsActorBlueprint; typedef std::list<std::pair<std::string, std::string>, std::allocator<std::pair<std::string, std::string> > >\ ListPairString; typedef std::map<std::string, NxOgre::Container<std::string, NxOgre::DominanceGroup*>::Containee, std::less<std::string>, std::allocator<std::pair<std::string const, NxOgre::Container<std::string, NxOgre::DominanceGroup*>::Containee> > >\ @@ -129,8 +129,8 @@ // MapContainerActorBlueprint; typedef std::map<std::string, NxOgre::Container<std::string, NxOgre::ForceField*>::Containee, std::less<std::string>, std::allocator<std::pair<std::string const, NxOgre::Container<std::string, NxOgre::ForceField*>::Containee> > >\ MapContainerForceField; -typedef std::map<unsigned, NxOgre::Container<unsigned, NxOgre::ShapeBlueprint const&>::Containee, std::less<unsigned>, std::allocator<std::pair<unsigned const, NxOgre::Container<unsigned, NxOgre::ShapeBlueprint const&>::Containee> > >\ - MapContainerShapeBlueprint; +// typedef std::map<unsigned, NxOgre::Container<unsigned, NxOgre::ShapeBlueprint const&>::Containee, std::less<unsigned>, std::allocator<std::pair<unsigned const, NxOgre::Container<unsigned, NxOgre::ShapeBlueprint const&>::Containee> > >\ +// MapContainerShapeBlueprint; typedef std::vector<unsigned short, std::allocator<unsigned short> > VectorShort; typedef std::vector<std::pair<Ogre::Vector3, unsigned>, std::allocator<std::pair<Ogre::Vector3, unsigned> > > VectorPairVector3; typedef std::set<Ogre::Entity*,std::less<Ogre::Entity*>,std::allocator<Ogre::Entity*> > SetEntity; @@ -140,8 +140,8 @@ typedef std::map<unsigned short, NxOgre::Container<unsigned short, NxOgre::DominanceGroup*>::Containee, std::less<unsigned short>, std::allocator<std::pair<unsigned short const, NxOgre::Container<unsigned short, NxOgre::DominanceGroup*>::Containee> > >\ MapContainerDominanceGroupContainee; -typedef std::map<unsigned int, NxOgre::Container<unsigned int, NxOgre::ShapeBlueprint*>::Containee, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, NxOgre::Container<unsigned int, NxOgre::ShapeBlueprint*>::Containee> > >\ - MapContainerShapeBluePrint; +// typedef std::map<unsigned int, NxOgre::Container<unsigned int, NxOgre::ShapeBlueprint*>::Containee, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, NxOgre::Container<unsigned int, NxOgre::ShapeBlueprint*>::Containee> > >\ +// MapContainerShapeBluePrint; typedef std::map<unsigned int, NxOgre::Container<unsigned int, NxOgre::Machine*>::Containee, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, NxOgre::Container<unsigned int, NxOgre::Machine*>::Containee> > >\ MapContainerMachine; typedef std::map<unsigned int, NxOgre::Container<unsigned int, NxOgre::Wheel*>::Containee, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, NxOgre::Container<unsigned int, NxOgre::Wheel*>::Containee> > >\ Modified: trunk/python-ogre/code_generators/nxogre_09/customization_data.py =================================================================== --- trunk/python-ogre/code_generators/nxogre_09/customization_data.py 2008-02-13 09:25:34 UTC (rev 562) +++ trunk/python-ogre/code_generators/nxogre_09/customization_data.py 2008-02-13 09:28:50 UTC (rev 563) @@ -2,7 +2,7 @@ def header_files( version ): return [ 'NxOgre.h' ,'NxOgreSkeleton.h' - ,'NxOgreResourceMesh.h' + #,'NxOgreResourceMesh.h' ,'Ogre.h' ,'OgrePlugin.h' ,'NxPhysics.h' Modified: trunk/python-ogre/code_generators/nxogre_09/generate_code.py =================================================================== --- trunk/python-ogre/code_generators/nxogre_09/generate_code.py 2008-02-13 09:25:34 UTC (rev 562) +++ trunk/python-ogre/code_generators/nxogre_09/generate_code.py 2008-02-13 09:28:50 UTC (rev 563) @@ -53,7 +53,7 @@ global_ns = mb.global_ns main_ns = global_ns.namespace( MAIN_NAMESPACE ) for c in main_ns.classes(): - if c.decl_string.startswith('::NxOgre::Container<') and '*' not in c.decl_string: + if c.decl_string.startswith('::NxOgre::Container<') and '&' in c.decl_string: # '*' not in c.decl_string: print "EXCLUDING: ", c c.exclude() @@ -72,7 +72,7 @@ v.exclude() print "excluded", v, v.access_type for t in main_ns.typedefs(): - if t.decl_string.startswith('::NxOgre::Container<') and '*' not in t.decl_string: + if t.decl_string.startswith('::NxOgre::Container<') and '&' in t.decl_string:# '*' not in t.decl_string: t.exclude() print "EXCLUDING: ", t @@ -132,29 +132,37 @@ ,'::NxOgre::SoftBody::simulate' ,'::NxOgre::SoftBody::render' - ,'::NxOgre::FileResourceSystem::getStream' # takes ::NxOgre::ResourceIdentifier as argument which needs fixing - ,'::NxOgre::OgreResourceSystem::getStream' - ,'::NxOgre::ResourceSystem::getStream' - ,'::NxOgre::RenderableSource::getStringType' # so we don't need a wrapper as it doesn't compile - ,'::NxOgre::RenderableSource::getType' +# # ,'::NxOgre::FileResourceSystem::getStream' # takes ::NxOgre::ResourceIdentifier as argument which needs fixing +# # ,'::NxOgre::OgreResourceSystem::getStream' +# ,'::NxOgre::ResourceSystem::getStream' +# ,'::NxOgre::RenderableSource::getStringType' # so we don't need a wrapper as it doesn't compile +# ,'::NxOgre::RenderableSource::getType' ,'::NxOgre::UserAllocator::mallocDEBUG' +# +# # ,'::NxOgre::Blueprints::ActorFactory' # not implemented, only in header.. +# ,'::NxOgre::ContactStream::getShape' +# ,'::NxOgre::ContactStream::getPatchNormal' +# ,'::NxOgre::ContactStream::getPoint' +# ,'::NxOgre::ContactStream::getNxActor' +# ,'::NxOgre::ContactStream::getActor' +# ,'::NxOgre::MemoryStream::skip' +# ,'::NxOgre::MemoryStream::seek' + ,'::NxOgre::WheelSet::createThreeWheelSet' + ,'::NxOgre::WheelSet::createSixWheelSet' + ,'::NxOgre::WheelSet::attachNewWheel' + ,'::NxOgre::Wheel::addEntity' + ,'::NxOgre::PhysXDriver::start' + ,'::NxOgre::PhysXDriver::stop' + ,'::NxOgre::PhysXDriver::hasHardware' + ,'::NxOgre::PhysXDriver::reset' + +# ,'::NxOgre::WheelSet::setBrakeTorque' +# ,'::NxOgre::WheelSet::turn' +# ,'::NxOgre::Material::setDirOfAnisotropy' +# ,'::NxOgre::OgreNodeRenderable::addSceneNode' +# # ,'::NxOgre::ResourceStreamPtr::ResourceStreamPtr' +# ,'::NxOgre::MaterialAlias::generateConversionList' -# ,'::NxOgre::Blueprints::ActorFactory' # not implemented, only in header.. - ,'::NxOgre::ContactStream::getShape' - ,'::NxOgre::ContactStream::getPatchNormal' - ,'::NxOgre::ContactStream::getPoint' - ,'::NxOgre::ContactStream::getNxActor' - ,'::NxOgre::ContactStream::getActor' - ,'::NxOgre::MemoryStream::skip' - ,'::NxOgre::MemoryStream::seek' - ,'::NxOgre::WheelSet::setMotorTorque' - ,'::NxOgre::WheelSet::setBrakeTorque' - ,'::NxOgre::WheelSet::turn' - ,'::NxOgre::Material::setDirOfAnisotropy' - ,'::NxOgre::OgreNodeRenderable::addSceneNode' -# ,'::NxOgre::ResourceStreamPtr::ResourceStreamPtr' - ,'::NxOgre::MaterialAlias::generateConversionList' - ] for e in excludes: print "excluding ", e @@ -177,19 +185,19 @@ ## Classes excludes = [ - 'DistanceJoint' ## constructor issue TOFIX - ,'JointCallback' ## also no suitable/defaul constructor TOFIX +# 'DistanceJoint' ## constructor issue TOFIX + 'JointCallback' ## also no suitable/defaul constructor TOFIX ,'Character' ## defined in header but not very much implementation # ,'RenderableSource' - ,'ResourceManager' +# ,'ResourceManager' # ,'ResourceStreamPtr' ,'::NxOgre::Blueprints::ActorFactory' ,'State' - ,'MeshResource' +# ,'MeshResource' ,'::NxOgre::Serialiser::SerialiserBase' ] for e in excludes: - print "Excluding", e + print "Excluding Class:", e main_ns.class_(e).exclude() # # # # # # @@ -201,6 +209,8 @@ ,'List<NxOgre::RemoteDebuggerConnection::Camera>' ,'List<NxOgre::Blueprints::ActorBlueprint*>' ,'Container<std::string, NxOgre::Joint*>' + ,'Container<std::string, NxOgre::RayCastHit>' +# ,'::NxOgre::Container< std::basic_string< char, std::char_traits< char >, std::allocator< char > >, NxOgre::RayCastHit >' ] for c in main_ns.classes(): # print c.decl_string @@ -216,15 +226,16 @@ 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.. ] for e in excludes: main_ns.variable(e).exclude() ### Typedefs - excludes = [ + excludes = [ '::NxOgre::RayCastReport' ] for e in excludes: + print "Excluding Typedef", e main_ns.typedefs(e).exclude() ### Operators Modified: trunk/python-ogre/code_generators/nxogre_09/python_nxogre.h =================================================================== --- trunk/python-ogre/code_generators/nxogre_09/python_nxogre.h 2008-02-13 09:25:34 UTC (rev 562) +++ trunk/python-ogre/code_generators/nxogre_09/python_nxogre.h 2008-02-13 09:28:50 UTC (rev 563) @@ -1,7 +1,7 @@ #include "NxOgre.h" #include "NxOgreSkeleton.h" //missing ?? -#include "NxOgreResourceMesh.h" // not included anywhere by default... +// #include "NxOgreResourceMesh.h" // not included anywhere by default... #include "Ogre.h" #include "OgrePlugin.h" #include <NxPhysics.h> Modified: trunk/python-ogre/code_generators/nxogre_09/python_nxogre_aliases.h =================================================================== --- trunk/python-ogre/code_generators/nxogre_09/python_nxogre_aliases.h 2008-02-13 09:25:34 UTC (rev 562) +++ trunk/python-ogre/code_generators/nxogre_09/python_nxogre_aliases.h 2008-02-13 09:28:50 UTC (rev 563) @@ -13,6 +13,7 @@ typedef NxOgre::List<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > ListString; typedef NxOgre::List<NxOgre::Blueprints::ActorBlueprint*> ListBlueprints; typedef NxOgre::Container<unsigned, NxOgre::ShapeBlueprint const&> ContainerShapeBlueprint; +typedef NxOgre::Container<unsigned, NxOgre::Wheel*> ContainerWheelPtr; //typedef NxOgre::Container<std::string, NxOgre::ActorBlueprint> ContainerActorBlueprint; //typedef NxOgre::Container<NxOgre::Scene::Renderables, float> ContainerSceneRencerables; typedef std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,float,std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, float> > >\ @@ -103,12 +104,12 @@ typedef NxOgre::Container<std::string, NxConvexMesh*> NxConvexMeshes; typedef NxOgre::Container<std::string, NxTriangleMesh*> NxTriangleMeshes; -typedef NxOgre::Container<std::string, NxOgre::MaterialAlias*> MaterialAliases; +// typedef NxOgre::Container<std::string, NxOgre::MaterialAlias*> MaterialAliases; typedef NxOgre::Container<unsigned int, NxTriangleMesh*> NxTriangleMesheInts; -typedef NxOgre::Container<unsigned int, NxOgre::ResourceSystem*> ResourceSystemInts; -typedef NxOgre::Container<unsigned int, NxOgre::MaterialAlias*> MaterialAliasInts; -typedef NxOgre::Container<unsigned int, NxOgre::CharacterMovementModel*> CharacterMovementModelInts; +// typedef NxOgre::Container<unsigned int, NxOgre::ResourceSystem*> ResourceSystemInts; +// typedef NxOgre::Container<unsigned int, NxOgre::MaterialAlias*> MaterialAliasInts; +// typedef NxOgre::Container<unsigned int, NxOgre::CharacterMovementModel*> CharacterMovementModelInts; // typedef NxOgre::Container<NxOgre::NxString, ::ActorGroup*> ActorGroups; // typedef NxOgre::Container<NxOgre::NxActorGroup, NxOgre::ActorGroup*> ActorGroupsByIndex; @@ -142,28 +143,28 @@ typedef std::map<unsigned int, NxOgre::Container<unsigned int, NxOgre::ShapeBlueprint*>::Containee, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, NxOgre::Container<unsigned int, NxOgre::ShapeBlueprint*>::Containee> > >\ MapContainerShapeBluePrint; -typedef std::map<unsigned int, NxOgre::Container<unsigned int, NxOgre::Machine*>::Containee, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, NxOgre::Container<unsigned int, NxOgre::Machine*>::Containee> > >\ - MapContainerMachine; +// typedef std::map<unsigned int, NxOgre::Container<unsigned int, NxOgre::Machine*>::Containee, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, NxOgre::Container<unsigned int, NxOgre::Machine*>::Containee> > >\ +// MapContainerMachine; typedef std::map<unsigned int, NxOgre::Container<unsigned int, NxOgre::Wheel*>::Containee, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, NxOgre::Container<unsigned int, NxOgre::Wheel*>::Containee> > >\ MapContainerWheel; -typedef std::map<unsigned int, NxOgre::Container<unsigned int, NxOgre::RenderableSource*>::Containee, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, NxOgre::Container<unsigned int, NxOgre::RenderableSource*>::Containee> > >\ - MapContainerRenderableSource; +// typedef std::map<unsigned int, NxOgre::Container<unsigned int, NxOgre::RenderableSource*>::Containee, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, NxOgre::Container<unsigned int, NxOgre::RenderableSource*>::Containee> > >\ +// MapContainerRenderableSource; -typedef std::map<unsigned int, NxOgre::Container<unsigned int, NxOgre::CharacterMovementModel*>::Containee, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, NxOgre::Container<unsigned int, NxOgre::CharacterMovementModel*>::Containee> > >\ - MapContainerCharacterMovementModel; -typedef std::map<unsigned int, NxOgre::Container<unsigned int, NxOgre::MaterialAlias*>::Containee, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, NxOgre::Container<unsigned int, NxOgre::MaterialAlias*>::Containee> > >\ - MapContainerMaterialAlias; -typedef std::map<unsigned int, NxOgre::Container<unsigned int, NxOgre::ResourceSystem*>::Containee, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, NxOgre::Container<unsigned int, NxOgre::ResourceSystem*>::Containee> > >\ - MapContainerResourceSystem; +// typedef std::map<unsigned int, NxOgre::Container<unsigned int, NxOgre::CharacterMovementModel*>::Containee, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, NxOgre::Container<unsigned int, NxOgre::CharacterMovementModel*>::Containee> > >\ +// MapContainerCharacterMovementModel; +// typedef std::map<unsigned int, NxOgre::Container<unsigned int, NxOgre::MaterialAlias*>::Containee, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, NxOgre::Container<unsigned int, NxOgre::MaterialAlias*>::Containee> > >\ +// MapContainerMaterialAlias; +// typedef std::map<unsigned int, NxOgre::Container<unsigned int, NxOgre::ResourceSystem*>::Containee, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, NxOgre::Container<unsigned int, NxOgre::ResourceSystem*>::Containee> > >\ +// MapContainerResourceSystem; typedef std::map<unsigned int, NxOgre::Container<unsigned int, NxTriangleMesh*>::Containee, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, NxOgre::Container<unsigned int, NxTriangleMesh*>::Containee> > >\ MapContainerNxTriangleMesh; -typedef std::map<std::string, NxOgre::Container<std::string, NxOgre::MaterialAlias*>::Containee, std::less<std::string>, std::allocator<std::pair<std::string const, NxOgre::Container<std::string, NxOgre::MaterialAlias*>::Containee> > >\ - MapStringContainerMaterialAlias; +// typedef std::map<std::string, NxOgre::Container<std::string, NxOgre::MaterialAlias*>::Containee, std::less<std::string>, std::allocator<std::pair<std::string const, NxOgre::Container<std::string, NxOgre::MaterialAlias*>::Containee> > >\ +// MapStringContainerMaterialAlias; typedef std::map<std::string, NxOgre::Container<std::string, NxTriangleMesh*>::Containee, std::less<std::string>, std::allocator<std::pair<std::string const, NxOgre::Container<std::string, NxTriangleMesh*>::Containee> > >\ MapStringContainerNxTriangleMesh; -typedef std::map<std::string, NxOgre::Container<std::string, NxOgre::CharacterMovementModel*>::Containee, std::less<std::string>, std::allocator<std::pair<std::string const, NxOgre::Container<std::string, NxOgre::CharacterMovementModel*>::Containee> > >\ - MapStringContainerCharacterMovementModel; +// typedef std::map<std::string, NxOgre::Container<std::string, NxOgre::CharacterMovementModel*>::Containee, std::less<std::string>, std::allocator<std::pair<std::string const, NxOgre::Container<std::string, NxOgre::CharacterMovementModel*>::Containee> > >\ +// MapStringContainerCharacterMovementModel; typedef std::map<std::string, NxOgre::Container<std::string, NxConvexMesh*>::Containee, std::less<std::string>, std::allocator<std::pair<std::string const, NxOgre::Container<std::string, NxConvexMesh*>::Containee> > >\ MapStringContainerNxConvexMesh; \ No newline at end of file Modified: trunk/python-ogre/code_generators/nxogre_09/python_nxogre_sizeof.h =================================================================== --- trunk/python-ogre/code_generators/nxogre_09/python_nxogre_sizeof.h 2008-02-13 09:25:34 UTC (rev 562) +++ trunk/python-ogre/code_generators/nxogre_09/python_nxogre_sizeof.h 2008-02-13 09:28:50 UTC (rev 563) @@ -1,4 +1,6 @@ // sizeof ( NxControllersHit ); +sizeof (NxOgre::Container<NxOgre::NxString, NxOgre::RayCastHit>); + sizeof ( NxBoxShapeDesc ); sizeof ( NxPlaneShapeDesc ); sizeof ( NxControllerManager ); Modified: trunk/python-ogre/code_generators/ogre/generate_code.py =================================================================== --- trunk/python-ogre/code_generators/ogre/generate_code.py 2008-02-13 09:25:34 UTC (rev 562) +++ trunk/python-ogre/code_generators/ogre/generate_code.py 2008-02-13 09:28:50 UTC (rev 563) @@ -865,6 +865,15 @@ print "Hand wrapper (as"+r.name+") created to cast from", c.name, "to", r.name ## b.access break +def FindProtectedVars ( mb ): + global_ns = mb.global_ns + main_ns = global_ns.namespace( MAIN_NAMESPACE ) + + for c in main_ns.classes(): + for v in c.variables(allow_empty=True): + if v.access_type == 'protected': + print "Protected Variable:", v, v.why_not_exportable(), v.exportable + # # the 'main'function # @@ -949,6 +958,8 @@ ManualAlias ( mb ) AutoFixes ( mb, MAIN_NAMESPACE ) ManualFixes ( mb ) + + FindProtectedVars ( mb ) # # indicated where underlying libraries are protected etc in the doc strings common_utils.Auto_Document( mb, MAIN_NAMESPACE ) Modified: trunk/python-ogre/code_generators/ogre/hand_made_wrappers.py =================================================================== --- trunk/python-ogre/code_generators/ogre/hand_made_wrappers.py 2008-02-13 09:25:34 UTC (rev 562) +++ trunk/python-ogre/code_generators/ogre/hand_made_wrappers.py 2008-02-13 09:28:50 UTC (rev 563) @@ -18,7 +18,66 @@ bp::return_value_policy< bp::return_opaque_pointer >());""" ] +WRAPPER_DEFINITION_MemoryDataStream =\ +""" +// return the data buffer - can't be handled 'normally' by Py++ +unsigned long MemoryDataStream_data ( ::Ogre::MemoryDataStream & me ) +{ + return (unsigned long) me.getPtr(); +} +void MemoryDataStream_setDataList ( ::Ogre::MemoryDataStream & me, boost::python::list listin ) +{ + Ogre::uchar * data = me.getPtr(); + size_t maxlen = len ( listin ); + size_t counter = 0; + for (counter=0;counter < maxlen; counter ++ ) + *data++ = boost::python::extract<Ogre::uchar> (listin[counter]); +} + +void MemoryDataStream_setDataStr ( ::Ogre::MemoryDataStream & me, boost::python::str listin ) +{ + Ogre::uchar * data = me.getPtr(); + char const* c_str = boost::python::extract<char const*>(listin); + size_t maxlen = len(listin); + size_t counter; + for (counter=0; counter < maxlen; counter ++ ) + *data++ = *c_str++; +} + +boost::python::list +MemoryDataStream_getData(::Ogre::MemoryDataStream & me) +{ + boost::python::list outlist; + size_t index; + Ogre::uchar * data = me.getPtr(); + size_t size = me.size(); + for (index=0;index<size;index++ ) { + outlist.append ( *data++ ); + } + return outlist; +} +""" +WRAPPER_REGISTRATION_MemoryDataStream = [ + """def( "getDataPointer", &::MemoryDataStream_data,\\ + "Python-Ogre Helper Function: Returns the data buffer.\\n\\ + Input: \\n\\ + Output: Unsigned Long address of the data buffer");""", + """def( "setData", &::MemoryDataStream_setDataList,\\ + "Python-Ogre Helper Function: Takes a python list and loads it into the memory buffer (as unsigned chars).\\n\\ + Input: Python List\\n\\ + Output: None");""", + """def( "setData", &::MemoryDataStream_setDataStr,\\ + "Python-Ogre Helper Function: Takes a python string and loads it into the memory buffer (as unsigned chars).\\n\\ + Input: Python String\\n\\ + Output: None");""", + """def( "getData", &::MemoryDataStream_getData,\\ + "Python-Ogre Helper Function: Copies the data buffer to a python list.\\n\\ + Input: None\\n\\ + Output: Python List");""" + ] + + WRAPPER_WRAPPER_RenderQueueListener =\ """ virtual void renderQueueEnded( ::Ogre::uint8 queueGroupId, ::Ogre::String const & invocation, bool & repeatThisInvocation ){ @@ -382,6 +441,28 @@ return outlist; } +void +Utility_setUchar(void * ptrin, boost::python::list listin) // unsigned short +{ + int index; + Ogre::uchar * newptr = reinterpret_cast<Ogre::uchar *>(ptrin); + for (index=0;index<len(listin);index++ ) { + *newptr++ = boost::python::extract<Ogre::uchar> (listin[index]); + } +} + +boost::python::list +Utility_getUchar(void * ptrin, int size) +{ + boost::python::list outlist; + int index; + Ogre::uchar * newptr = reinterpret_cast<Ogre::uchar *>(ptrin); + for (index=0;index<size;index++ ) { + outlist.append ( *newptr++ ); + } + return outlist; +} + // sometimes we need to take the ctypess addressof(), an int, and recast it as a general void * void * Utility_CastVoidPtr ( unsigned long address ) @@ -488,6 +569,16 @@ Input: void *, size\\n\\ Ouput: Python List\\n\\ The list is populated with ints from memory starting at the pointer" );""", + """bp::def( "setUchar", &Utility_setUchar, + "Python-Ogre Helper Function: Write Unsigned chars to Memory.\\n\\ + Input: void *, Python List (numerics)\\n\\ + Ouput: None\\n\\ + The list is extracted as unsigned ints and written to memory starting at the pointer" );""", + """bp::def( "getUchar", &Utility_getUchar, + "Python-Ogre Helper Function: Reads unsigned chars into a python list.\\n\\ + Input: void *, size\\n\\ + Ouput: Python List\\n\\ + The list is populated with ints from memory starting at the pointer" );""", """bp::def( "setUint32", &Utility_setUint32, "Python-Ogre Helper Function: Write Unsigned Ints 32 to Memory.\\n\\ Input: void *, Python List (numerics)\\n\\ @@ -869,6 +960,10 @@ rt.add_declaration_code( WRAPPER_DEFINITION_SceneManager ) apply_reg (rt, WRAPPER_REGISTRATION_SceneManager ) + rt = mb.class_( 'MemoryDataStream' ) + rt.add_declaration_code( WRAPPER_DEFINITION_MemoryDataStream ) + apply_reg (rt, WRAPPER_REGISTRATION_MemoryDataStream ) + rt = mb.class_( 'ParticleSystem' ) rt.add_declaration_code( WRAPPER_DEFINITION_ParticleSystem ) apply_reg (rt, WRAPPER_REGISTRATION_ParticleSystem ) Modified: trunk/python-ogre/code_generators/opcode/generate_code.py =================================================================== --- trunk/python-ogre/code_generators/opcode/generate_code.py 2008-02-13 09:25:34 UTC (rev 562) +++ trunk/python-ogre/code_generators/opcode/generate_code.py 2008-02-13 09:28:50 UTC (rev 563) @@ -525,15 +525,19 @@ #IceMaths::Quat IceMaths::Matrix3x3::operator ::IceMaths::Quat() const [casting operator] c = mb.global_ns.namespace ( 'IceMaths').class_('Matrix3x3') for o in c.operators(): - if 'Quat' in o._decl_string(): +# print o +# print dir(o) +# print o.partial_decl_string +# print o.name + if 'Quat' in o.partial_decl_string: o.exclude() - print "Excluded Op", o, "\n", o._decl_string() + print "Excluded Op", o, "\n", o.partial_decl_string ## OP float const * IceMaths::Point::operator float const *() const [casting operator] c = mb.global_ns.namespace ( 'IceMaths').class_('Point') for o in c.operators(): - if 'float const *' in o._decl_string(): + if 'float const *' in o.partial_decl_string: o.exclude() - print "Excluded Op", o, "\n", o._decl_string() + print "Excluded Op", o, "\n", o.partial_decl_string ##Spere(udword nb_verts, const Point* verts); Not Implemented c = mb.global_ns.namespace ( 'IceMaths').class_('Sphere') for o in c.constructors(arg_types=("::udword","::IceMaths::Point const *") ): @@ -544,7 +548,7 @@ o.exclude() for o in c.member_functions(): if len (o.arguments) > 10: - print "Too Many Arguments - excluded:", o, o._decl_string() + print "Too Many Arguments - excluded:", o, o.partial_decl_string o.exclude() c = mb.global_ns.namespace ( 'IceMaths').class_('Matrix4x4') for o in c.casting_operators(): Modified: trunk/python-ogre/code_generators/physx/1 =================================================================== --- trunk/python-ogre/code_generators/physx/1 2008-02-13 09:25:34 UTC (rev 562) +++ trunk/python-ogre/code_generators/physx/1 2008-02-13 09:28:50 UTC (rev 563) @@ -0,0 +1,5261 @@ + + +INFO Parsing xml file "C:\Development\python-ogre\code_generators\cache\physx_2.7.3_cache.xml" ... + + +INFO GCCXML version - 0.9 +Included Free Function int NxIntFloor(NxF32 const & f) [free function] +Included Free Function void NxDecomposeVector(NxVec3 & normalCompo, NxVec3 & tangentCompo, NxVec3 const & outwardDir, NxVec3 const & outwardNormal) [free function] +Included Free Function void NxComputeBarycentricPoint(NxVec3 & pt, NxVec3 const & p0, NxVec3 const & p1, NxVec3 const & p2, float u, float v) [free function] +Included Free Function void NxSetFPUExceptions(bool b) [free function] +Included Free Function bool NxSegmentOBBIntersect(NxVec3 const & p0, NxVec3 const & p1, NxVec3 const & center, NxVec3 const & extents, NxMat33 const & rot) [free function] +Included Free Function extern NxU32 NxGetValue(NxCookingValue cookValue) [free function] +Included Free Function void NxSetFPURoundingNear() [free function] +Included Free Function void NxFlexiCopy(void const * src, void * dst, NxU32 nbElem, NxU32 elemSize, NxU32 stride) [free function] +Included Free Function NxReal NxComputeConeMass(NxReal radius, NxReal length, NxReal density) [free function] +Included Free Function extern bool NxCookTriangleMesh(NxTriangleMeshDesc const & desc, NxStream & stream) [free function] +Included Free Function bool NxComputeBoxPoints(NxBox const & box, NxVec3 * pts) [free function] +Included Free Function NxU32 NxCrc32(void const * buffer, NxU32 nbBytes) [free function] +Included Free Function void NxComputeSphereInertiaTensor(NxVec3 & diagInertia, NxReal mass, NxReal radius, bool hollow) [free function] +Included Free Function bool NxSegmentBoxIntersect(NxVec3 const & p1, NxVec3 const & p2, NxVec3 const & bbox_min, NxVec3 const & bbox_max, NxVec3 & intercept) [free function] +Included Free Function NxF32 NxAngle(NxVec3 const & v0, NxVec3 const & v1) [free function] +Included Free Function void NxComputeBoxInertiaTensor(NxVec3 & diagInertia, NxReal mass, NxReal xlength, NxReal ylength, NxReal zlength) [free function] +Included Free Function void NxComputeBoxAroundCapsule(NxCapsule const & capsule, NxBox & box) [free function] +Included Free Function bool NxRayPlaneIntersect(NxRay const & ray, NxPlane const & plane, NxReal & dist, NxVec3 & pointOnPlane) [free function] +Included Free Function void NxSegmentCapsuleIntersect(NxSegment const & segment, NxCapsule const & capsule, NxU32 * nbImpacts, NxReal * t) [free function] +Included Free Function NxReal NxComputeConeDensity(NxReal radius, NxReal length, NxReal mass) [free function] +Included Free Function bool NxRayTriIntersect(NxVec3 const & orig, NxVec3 const & dir, NxVec3 const & vert0, NxVec3 const & vert1, NxVec3 const & vert2, float & t, float & u, float & v, bool cull) [free function] +Included Free Function NxReal NxComputeSphereMass(NxReal radius, NxReal density) [free function] +Included Free Function bool NxRayAABBIntersect(NxVec3 const & min, NxVec3 const & max, NxVec3 const & origin, NxVec3 const & dir, NxVec3 & coord) [free function] +Included Free Function extern bool NxSetCookingParams(NxCookingParams const & params) [free function] +Included Free Function void NxComputeBoxWorldEdgeNormal(NxBox const & box, NxU32 edge_index, NxVec3 & world_normal) [free function] +Included Free Function unsigned int const * NxGetBoxTriangles() [free function] +Included Free Function void NxFindRotationMatrix(NxVec3 const & x, NxVec3 const & b, NxMat33 & M) [free function] +Included Free Function void NxMergeSpheres(NxSphere & merged, NxSphere const & sphere0, NxSphere const & sphere1) [free function] +Included Free Function bool NxBuildSmoothNormals(NxU32 nbTris, NxU32 nbVerts, NxVec3 const * verts, unsigned int const * dFaces, NxU16 const * wFaces, NxVec3 * normals, bool flip=false) [free function] +Included Free Function NxVec3 const * NxGetBoxLocalEdgeNormals() [free function] +Included Free Function extern NxCookingParams const & NxGetCookingParams() [free function] +Included Free Function extern NxFoundationSDK * NxGetFoundationSDK() [free function] +Included Free Function void NxSegmentPlaneIntersect(NxVec3 const & v1, NxVec3 const & v2, NxPlane const & plane, NxReal & dist, NxVec3 & pointOnPlane) [free function] +Included Free Function unsigned int const * NxGetBoxEdges() [free function] +Included Free Function NX_BOOL NxPointTriangleIntersect2D(NxReal px, NxReal pz, NxReal p0x, NxReal p0z, NxReal e10x, NxReal e10z, NxReal e20x, NxReal e20z) [free function] +Included Free Function extern NxUserAllocator * NxGetPhysicsSDKAllocator() [free function] +Included Free Function unsigned int const * NxBoxVertexToQuad(NxU32 vertexIndex) [free function] +Included Free Function NxReal NxComputeEllipsoidDensity(NxVec3 const & extents, NxReal mass) [free function] +Included Free Function extern bool NxScaleCookedConvexMesh(NxStream const & source, NxReal scale, NxStream & dest) [free function] +Included Free Function bool NxRaySphereIntersect(NxVec3 const & origin, NxVec3 const & dir, NxReal length, NxVec3 const & center, NxReal radius, NxReal & hit_time, NxVec3 & hit_pos) [free function] +Included Free Function bool NxFastComputeSphere(NxSphere & sphere, unsigned int nb_verts, NxVec3 const * verts) [free function] +Included Free Function bool NxComputeBoxPlanes(NxBox const & box, NxPlane * planes) [free function] +Included Free Function bool NxTriBoxIntersect(NxVec3 const & vertex0, NxVec3 const & vertex1, NxVec3 const & vertex2, NxVec3 const & center, NxVec3 const & extents) [free function] +Included Free Function extern bool NxCookConvexMesh(NxConvexMeshDesc const & desc, NxStream & stream) [free function] +Included Free Function extern NxCookingInterface * NxGetCookingLib(NxU32 sdk_version_number) [free function] +Included Free Function NxI32 const * NxGetBoxEdgesAxes() [free function] +Included Free Function NxSepAxis NxSeparatingAxis(NxBox const & obb0, NxBox const & obb1, bool fullTest=true) [free function] +Included Free Function NxSepAxis NxSeparatingAxis(NxVec3 const & extents0, NxVec3 const & center0, NxMat33 const & rotation0, NxVec3 const & extents1, NxVec3 const & center1, NxMat33 const & rotation1, bool fullTest=true) [free function] +Included Free Function void NxComputeNormalCompo(NxVec3 & normalCompo, NxVec3 const & outwardDir, NxVec3 const & outwardNormal) [free function] +Included Free Function NxU32 NxRayAABBIntersect2(NxVec3 const & min, NxVec3 const & max, NxVec3 const & origin, NxVec3 const & dir, NxVec3 & coord, NxReal & t) [free function] +Included Free Function void NxNormalToTangents(NxVec3 const & n, NxVec3 & t1, NxVec3 & t2) [free function] +Included Free Function void NxSetFPURoundingDown() [free function] +Included Free Function void NxMakeFatEdge(NxVec3 & p0, NxVec3 & p1, NxF32 fatCoeff) [free function] +Included Free Function NxU32 NxRayCapsuleIntersect(NxVec3 const & origin, NxVec3 const & dir, NxCapsule const & capsule, NxReal * t) [free function] +Included Free Function void NxSetFPURoundingUp() [free function] +Included Free Function NxReal NxComputeEllipsoidMass(NxVec3 const & extents, NxReal density) [free function] +Included Free Function extern NxUtilLib * NxGetUtilLib() [free function] +Included Free Function void NxCreateBox(NxBox & box, NxBounds3 const & aabb, NxMat34 const & mat) [free function] +Included Free Function bool NxSegmentAABBIntersect(NxVec3 const & p0, NxVec3 const & p1, NxVec3 const & min, NxVec3 const & max) [free function] +Included Free Function NxReal NxComputeCylinderMass(NxReal radius, NxReal length, NxReal density) [free function] +Included Free Function extern NxCookingInterface * NxGetCookingLibWithID(NxU32 sdk_version_number, char * companyNameStr, char * appNameStr, char * appVersionStr, char * appUserDefinedStr) [free function] +Included Free Function extern bool NxCreatePMap(NxPMap & pmap, NxTriangleMesh const & mesh, NxU32 density, NxUserOutputStream * outputStream=0) [free function] +Included Free Function NxBSphereMethod NxComputeSphere(NxSphere & sphere, unsigned int nb_verts, NxVec3 const * verts) [free function] +Included Free Function int NxIntChop(NxF32 const & f) [free function] +Included Free Function NX_BOOL NxPointTriangleIntersect(NxVec3 const & p, NxVec3 const & p0, NxVec3 const & edge10, NxVec3 const & edge20) [free function] +Included Free Function bool NxComputeBoxVertexNormals(NxBox const & box, NxVec3 * pts) [free function] +Included Free Function extern bool NxCookClothMesh(NxClothMeshDesc const & desc, NxStream & stream) [free function] +Included Free Function extern void NxReleasePhysicsSDK(NxPhysicsSDK * sdk) [free function] +Included Free Function extern void NxCloseCooking() [free function] +Included Free Function bool NxRayOBBIntersect(NxRay const & ray, NxVec3 const & center, NxVec3 const & extents, NxMat33 const & rot) [free function] +Included Free Function void NxComputeBounds(NxBounds3 & bounds, NxU32 nbVerts, NxVec3 const * verts) [free function] +Included Free Function void NxComputeBounds(NxVec3 & min, NxVec3 & max, NxU32 nbVerts, NxVec3 const * verts) [free function] +Included Free Function NxU32 NxNextPowerOfTwo(NxU32 x) [free function] +Included Free Function extern NxPhysicsSDK * NxCreatePhysicsSDKWithID(NxU32 sdkVersion, char * companyNameStr, char * appNameStr, char * appVersionStr, char * appUserDefinedStr, NxUserAllocator * allocator=0, NxUserOutputStream * outputStream=0, NxPhysicsSDKDesc const & desc=::NxPhysicsSDKDesc( ), NxSDKCreateError * errorCode=0) [free function] +Included Free Function extern bool NxCookSoftBodyMesh(NxSoftBodyMeshDesc const & desc, NxStream & stream) [free function] +Included Free Function extern bool NxPlatformMismatch() [free function] +Included Free Function NxF32 NxComputeSquareDistance(NxSegment const & seg, NxVec3 const & point, NxF32 * t) [free function] +Included Free Function bool NxBoxContainsPoint(NxBox const & box, NxVec3 const & p) [free function] +Included Free Function bool NxIsBoxAInsideBoxB(NxBox const & a, NxBox const & b) [free function] +Included Free Function extern bool NxReleasePMap(NxPMap & pmap) [free function] +Included Free Function void NxSetFPUPrecision24() [free function] +Included Free Function void NxComputeCapsuleAroundBox(NxBox const & box, NxCapsule & capsule) [free function] +Included Free Function void NxSetFPUPrecision53() [free function] +Included Free Function void NxSetFPUPrecision64() [free function] +Included Free Function int NxIntCeil(NxF32 const & f) [free function] +Included Free Function extern bool NxInitCooking(NxUserAllocator * allocator=0, NxUserOutputStream * outputStream=0) [free function] +Included Free Function NxReal NxComputeBoxMass(NxVec3 const & extents, NxReal density) [free function] +Included Free Function void NxSetFPURoundingChop() [free function] +Included Free Function extern void NxReportCooking() [free function] +Included Free Function void NxComputeTangentCompo(NxVec3 & outwardDir, NxVec3 const & outwardNormal) [free function] +Included Free Function NxReal NxComputeBoxDensity(NxVec3 const & extents, NxReal mass) [free function] +Included Free Function NxReal NxComputeCylinderDensity(NxReal radius, NxReal length, NxReal mass) [free function] +Included Free Function bool NxBoxBoxIntersect(NxBox const & obb0, NxBox const & obb1, bool fullTest=true) [free function] +Included Free Function bool NxBoxBoxIntersect(NxVec3 const & extents0, NxVec3 const & center0, NxMat33 const & rotation0, NxVec3 const & extents1, NxVec3 const & center1, NxMat33 const & rotation1, bool fullTest) [free function] +Included Free Function extern NxPhysicsSDK * NxGetPhysicsSDK() [free function] +Included Free Function unsigned int const * NxGetBoxQuads() [free function] +Included Free Function extern NxPhysicsSDK * NxCreatePhysicsSDK(NxU32 sdkVersion, NxUserAllocator * allocator=0, NxUserOutputStream * outputStream=0, NxPhysicsSDKDesc const & desc=::NxPhysicsSDKDesc( ), NxSDKCreateError * errorCode=0) [free function] +Included Free Function NxF32 NxComputeDistanceSquared(NxRay const & ray, NxVec3 const & point, NxF32 * t) [free function] +Included Free Function bool NxDiagonalizeInertiaTensor(NxMat33 const & denseInertia, NxVec3 & diagonalInertia, NxMat33 & rotation) [free function] +Included Free Function NxReal NxComputeSphereDensity(NxReal radius, NxReal mass) [free function] +Included Free Function bool NxSweptSpheresIntersect(NxSphere const & sphere0, NxVec3 const & velocity0, NxSphere const & sphere1, NxVec3 const & velocity1) [free function] +Excluding static const NxPiF32 [variable] +Excluding static const NxPiF64 [variable] +Excluding static const NxHalfPiF32 [variable] +Excluding static const NxHalfPiF64 [variable] +Excluding static const NX_NO_HIGH_LIMIT [variable] +Excluding static const NxTwoPiF32 [variable] +Excluding static const NxTwoPiF64 [variable] +Excluding static const NX_NO_LOW_LIMIT [variable] +Excluding static const NxInvPiF32 [variable] +Excluding static const NxInvPiF64 [variable] +excluded NxBitField::FlagRef::bitField [variable] private +excluded NxBitField::FlagRef::bitIndex [variable] private +excluded NxBitField::FlagRef::bitField [variable] private +excluded NxBitField::FlagRef::bitIndex [variable] private +excluded NxMat33::data [variable] private +excluded NxActorDescBase::type [variable] protected +excluded NxDebugRenderable::numPoints [variable] private +excluded NxDebugRenderable::numLines [variable] private +excluded NxDebugRenderable::numTriangles [variable] private +excluded NxDebugRenderable::points [variable] private +excluded NxDebugRenderable::lines [variable] private +excluded NxDebugRenderable::triangles [variable] private +excluded NxJointDesc::type [variable] protected +excluded NxForceFieldShapeDesc::type [variable] protected +excluded NxShapeDesc::type [variable] protected +excluded NxContactStreamIterator::pointNormalForce [variable] protected +excluded NxContactStreamIterator::stream [variable] protected +excluded NxContactStreamIterator::numPairs [variable] private +excluded NxContactStreamIterator::shapes [variable] private +excluded NxContactStreamIterator::shapeFlags [variable] private +excluded NxContactStreamIterator::numPatches [variable] private +excluded NxContactStreamIterator::patchNormal [variable] private +excluded NxContactStreamIterator::numPoints [variable] private +excluded NxContactStreamIterator::point [variable] private +excluded NxContactStreamIterator::separation [variable] private +excluded NxContactStreamIterator::featureIndex0 [variable] private +excluded NxContactStreamIterator::featureIndex1 [variable] private +excluded NxContactStreamIterator::numPairsRemaining [variable] private +excluded NxContactStreamIterator::numPatchesRemaining [variable] private +excluded NxContactStreamIterator::numPointsRemaining [variable] private +excluded NxFluidDescBase::type [variable] protected +excluded NxArray<NxFluidEmitterDesc, NxAllocatorDefault>::first [variable] private +excluded NxArray<NxFluidEmitterDesc, NxAllocatorDefault>::last [variable] private +excluded NxArray<NxFluidEmitterDesc, NxAllocatorDefault>::memEnd [variable] private +excluded NxArray<NxFluidEmitterDesc, NxAllocatorDefault>::allocator [variable] private +excluded NxArray<NxShapeDesc*, NxAllocatorDefault>::first [variable] private +excluded NxArray<NxShapeDesc*, NxAllocatorDefault>::last [variable] private +excluded NxArray<NxShapeDesc*, NxAllocatorDefault>::memEnd [variable] private +excluded NxArray<NxShapeDesc*, NxAllocatorDefault>::allocator [variable] private +excluded NxEffectorDesc::type [variable] protected +excluding function ::NxArray<NxShapeDesc*, NxAllocatorDefault>::begin +excluding function ::NxArray<NxFluidEmitterDesc, NxAllocatorDefault>::deleteEntry +excluding function ::NxArray<NxShapeDesc*, NxAllocatorDefault>::end +excluding function ::NxCookingInterface::NxCreatePMap +excluding function ::NxForceField::releaseShape +excluding function ::NxUtilLib::NxGetBoxEdgesAxes +excluding function ::NxImplicitScreenMesh::getProjectionMatrix +excluding function ::NxVec3::get +excluding function ::NxBitField::rangeToDenseMask +excluding function ::NxBitField::maskToShift +NxSweepQueryHit [struct] +NxBitField [class] +NxBitField::FlagRef [class] +NxConvexShapeDesc [class] +NxMat33 [class] +NxVec3 [class] +NxJointLimitPairDesc [class] +NxWheelShape [class] +NxActorDescBase [class] +NxMaterialDesc [class] +NxRay [class] +NxPointInPlaneJoint [class] +NxWheelShapeDesc [class] +NxMaterial [class] +NxFluidEmitterDesc [class] +NxUserRaycastReport [class] +NxPlaneShape [class] +_ldiv_t [struct] +NxExtension [class] +_Nx3F32 [struct] +NxSphereShapeDesc [class] +NxContactPair [class] +NxSceneLimits [class] +NxCCDSkeleton [class] +NxCapsuleForceFieldShapeDesc [class] +_heapinfo [struct] +NxMeshData [class] +NxBox [class] +tagLC_ID [struct] +NxEffector [class] +_exception [struct] +NxTriangle32 [struct] +NxPrismaticJointDesc [class] +NxFluidEmitter [class] +NxGroupsMask [class] +NxTriangleMeshShape [class] +NxDebugRenderable [class] +NxFixedJoint [class] +NxBoxForceFieldShape [class] +NxDebugPoint [struct] +localeinfo_struct [struct] +NxSoftBodyDesc [class] +NxFluid [class] +_LDOUBLE [struct] +NxPulleyJointDesc [class] +NxForceFieldDesc [class] +NxAllocatorDefault [class] +NxFluidPacketData [class] +NxPrismaticJoint [class] +NxShape [class] +NxProfileData [class] +NxPointInPlaneJointDesc [class] +NxTriangleMeshDesc [class] +NxSimpleTriangleMesh [class] +NxSphereShape [class] +NxSweepCache [class] +NxAllocateable [class] +NxJointDesc [class] +NxUserNotify [class] +NxPulleyJoint [class] +NxTask [class] +NxSoftBodyMesh [class] +NxForceFieldShapeDesc [class] +NxFixedJointDesc [class] +NxPMap [class] +NxCapsuleShapeDesc [class] +NxShapeDesc [class] +_div_t [struct] +NxPhysicsSDKDesc [class] +NxUserContactModify [class] +NxUserContactModify::NxContactCallbackData [struct] +NxSoftBodySplitPairData [class] +_CRT_FLOAT [struct] +NxTireFunctionDesc [class] +NxPointOnLineJointDesc [class] +NxTriangle [class] +NxClothMeshDesc [class] +NxScene [class] +NxInterface [class] +NxCloth [class] +NxClothMesh [class] +NxSpringAndDamperEffectorDesc [class] +NxUserOutputStream [class] +NxHeightFieldDesc [class] +NxCapsule [class] +NxFluidUserNotify [class] +NxUserWheelContactModify [class] +NxSphereForceFieldShape [class] +NxCookingInterface [class] +NxJoint [class] +NxContactStreamIterator [class] +NxSceneQueryDesc [class] +NxConvexForceFieldShapeDesc [class] +NxSceneQuery [class] +NxSphere [class] +NxBoxShapeDesc [class] +NxUserScheduler [class] +NxDistanceJointDesc [class] +NxHeightField [class] +NxJointDriveDesc [class] +NxSphereForceFieldShapeDesc [class] +NxUserAllocator [class] +NxSceneStatistic [struct] +NxClothDesc [class] +NxPointOnLineJoint [class] +NxUserContactReport [class] +NxParticleIdData [class] +NxBoxForceFieldShapeDesc [class] +NxFluidDescBase [class] +NxImplicitScreenMeshDesc [class] +NxArray<NxFluidEmitterDesc, NxAllocatorDefault> [class] +NxArray<NxShapeDesc*, NxAllocatorDefault> [class] +NxPairFlag [class] +NxDistanceJoint [class] +NxSphericalJoint [class] +threadlocaleinfostruct [struct] +threadlocaleinfostruct [struct] +NxHeightFieldShape [class] +NxHeightFieldShapeDesc [class] +NxImplicitScreenMesh [class] +NxActorGroupPair [struct] +NxParticleData [class] +NxBounds3 [class] +_complex [struct] +NxActorPairFilter [class] +NxCapsuleShape [class] +NxTriangleMesh [class] +NxConstraintDominance [struct] +NxUserEntityReport<NxShape*> [class] +NxUserEntityReport<unsigned int> [class] +NxUserEntityReport<NxSweepQueryHit> [class] +NxWheelContactData [class] +NxProfilerData [class] +NxPlaneShapeDesc [class] +NxQuat [class] +_LDBL12 [struct] +NxRevoluteJoint [class] +NxSceneStats2 [class] +NxMat34 [class] +NxJointLimitSoftDesc [class] +NxHeightFieldSample [struct] +NxFluidPacket [struct] +NxForceFieldShape [class] +NxSpringDesc [class] +NxActiveTransform [struct] +NxJointLimitDesc [class] +NxSceneStats [class] +NxRevoluteJointDesc [class] +NxMotorDesc [class] +NxFluidDesc [class] +NxDebugTriangle [struct] +NxRemoteDebuggerEventListener [class] +NxSegment [class] +NxCookingParams [struct] +Nx9Real [class] +Nx9Real::S [struct] +Nx9Real [union] +NxConvexMeshDesc [class] +_LONGDOUBLE [struct] +NxFoundationSDK [class] +NxSceneQueryReport [class] +NxBodyDesc [class] +NxConvexMesh [class] +NxTriangleMeshShapeDesc [class] +NxSpringAndDamperEffector [class] +NxCompartment [class] +NxSoftBodySplitPair [class] +NxRemoteDebugger [class] +NxUserTriggerReport [class] +NxPlane [class] +NxStream [class] +NxDebugLine [struct] +NxParticleUpdateData [class] +NxD6Joint [class] +NxUserActorPairFiltering [class] +NxPhysicsSDK [class] +NxActor [class] +_CRT_DOUBLE [struct] +NxSceneDesc [class] +NxMath [class] +NxCylindricalJointDesc [class] +NxCapsuleForceFieldShape [class] +NxActorDesc [class] +NxUtilLib [class] +NxD6JointDesc [class] +NxConvexShape [class] +NxCylindricalJoint [class] +NxRaycastHit [struct] +NxCompartmentDesc [class] +NxSoftBody [class] +NxConvexForceFieldShape [class] +NxJointLimitSoftPairDesc [class] +NxEffectorDesc [class] +NxBoxShape [class] +NxSoftBodyMeshDesc [class] +NxForceField [class] +NxProfileZone [class] +NxSphericalJointDesc [class] +__si_class_type_info_pseudo [struct] +__class_type_info_pseudo [struct] +__vmi_class_type_info_pseudo1 [struct] +__type_info_pseudo [struct] +__base_class_type_info_pseudo [struct] +Excluding Class: NxArray<NxShapeDesc*, NxAllocatorDefault> +Excluding Class: NxArray<NxFluidEmitterDesc, NxAllocatorDefault> +Excluding: NxReal const * NxVec3::get() const [member function] +Excluding Operator: NxReal & NxMat33::operator()(int row, int col) [member operator] +CHECK bool NxTriangleMeshShape::overlapAABBTriangles(NxBounds3 const & bounds, NxU32 flags, NxUserEntityReport<unsigned int> * callback) const [memb... [truncated message content] |
From: <and...@us...> - 2008-02-16 01:30:30
|
Revision: 567 http://python-ogre.svn.sourceforge.net/python-ogre/?rev=567&view=rev Author: andy_miller Date: 2008-02-15 17:30:37 -0800 (Fri, 15 Feb 2008) Log Message: ----------- Updates for 1.2 release. Phyxs now exposes free functions so should be usable standalone Bug in common utilities where free functions weren't bein processes for return pointer checking or functional transformation Modified Paths: -------------- trunk/python-ogre/code_generators/common_utils/__init__.py trunk/python-ogre/code_generators/ogre/generate_code.py trunk/python-ogre/code_generators/physx/generate_code.py trunk/python-ogre/code_generators/physx/hand_made_wrappers.py Removed Paths: ------------- trunk/python-ogre/code_generators/physx/1 Modified: trunk/python-ogre/code_generators/common_utils/__init__.py =================================================================== --- trunk/python-ogre/code_generators/common_utils/__init__.py 2008-02-16 01:21:27 UTC (rev 566) +++ trunk/python-ogre/code_generators/common_utils/__init__.py 2008-02-16 01:30:37 UTC (rev 567) @@ -196,66 +196,65 @@ -def Auto_Functional_Transformation ( mb, ignore_funs=[], special_vars=[], prefix_output=['get','is','calc','suggest'] ): - for fun in mb.member_functions(): - fullname = fun.demangled.split('(')[0] - if fullname not in ignore_funs and not fun.ignore: - arg_position = 0 - trans=[] - desc="" -# print "Checking", fun.decl_string - for arg in fun.arguments: - rawarg = declarations.remove_declarated( - declarations.remove_const( - declarations.remove_reference( - declarations.remove_pointer ( arg.type )))) - -# print fun.name, arg.type.decl_string, rawarg - - ## now check if the arg is a fundemental type (int float etc), a void - ## or a special .. - if declarations.is_arithmetic (rawarg)\ - or declarations.is_void(rawarg)\ - or arg.type.decl_string in special_vars: -# print "Auto:", arg.type.decl_string," is_integral|floating|void|special|" - if declarations.is_pointer(arg.type): #we convert any pointers to unsigned int's -# print "Pointer" - trans.append( ft.modify_type(arg_position,_ReturnUnsignedInt ) ) - desc = desc +"Argument: "+arg.name+ "( pos:" + str(arg_position) + " - " +\ - arg.type.decl_string + " ) takes a CTypes.addressof(xx). \\n" -# print fullname,"Ctype Mod for ", arg.name, arg.type.decl_string - elif declarations.is_reference(arg.type): -# print "Ref" - matched = False - for pre in prefix_output: # functions whose name starts in the list are consider output only - if fun.name.startswith (pre): - matched = True - trans.append( ft.output(arg_position ) ) - desc = desc +"Argument: "+arg.name+ "( pos:" + str(arg_position) + " - " +\ - arg.type.decl_string + " ) converted to an output only (no longer an input argument).\\n" - # print fullname," ft.output ", arg.name, arg.type.decl_string - if not matched: # otherwise a function is converted using inout - trans.append( ft.inout(arg_position ) ) - desc = desc + "Argument: "+arg.name+ "( pos:" + str(arg_position) + " - " +\ - arg.type.decl_string + " ) converted to an input/output (change to return types).\\n" -# print fullname," ft.inout ", arg.name, arg.type.decl_string +def Auto_Functional_Transformation ( mb, ignore_funs=[], special_vars=[], prefix_output=['get','is','calc','suggest'] ): + toprocess = [] + for fun in mb.member_functions(allow_empty=True): + toprocess.append( fun ) + for fun in mb.free_functions(allow_empty=True): + toprocess.append( fun ) + + for fun in toprocess: + try: # ugly wrapping in a try :( + fullname = fun.demangled.split('(')[0] + if fullname not in ignore_funs and not fun.ignore: + arg_position = 0 + trans=[] + desc="" + for arg in fun.arguments: + rawarg = declarations.remove_declarated( + declarations.remove_const( + declarations.remove_reference( + declarations.remove_pointer ( arg.type )))) + + + ## now check if the arg is a fundemental type (int float etc), a void + ## or a special .. + if declarations.is_arithmetic (rawarg)\ + or declarations.is_void(rawarg)\ + or arg.type.decl_string in special_vars: + if declarations.is_pointer(arg.type): #we convert any pointers to unsigned int's + trans.append( ft.modify_type(arg_position,_ReturnUnsignedInt ) ) + desc = desc +"Argument: "+arg.name+ "( pos:" + str(arg_position) + " - " +\ + arg.type.decl_string + " ) takes a CTypes.addressof(xx). \\n" + elif declarations.is_reference(arg.type): + matched = False + for pre in prefix_output: # functions whose name starts in the list are consider output only + if fun.name.startswith (pre): + matched = True + trans.append( ft.output(arg_position ) ) + desc = desc +"Argument: "+arg.name+ "( pos:" + str(arg_position) + " - " +\ + arg.type.decl_string + " ) converted to an output only (no longer an input argument).\\n" + if not matched: # otherwise a function is converted using inout + trans.append( ft.inout(arg_position ) ) + desc = desc + "Argument: "+arg.name+ "( pos:" + str(arg_position) + " - " +\ + arg.type.decl_string + " ) converted to an input/output (change to return types).\\n" + else: + pass else: pass -# print "Not Handled" - else: - pass -# print "Not valid to process" - arg_position += 1 - if trans: - if fun.documentation: # it's already be tweaked: - print "AUTOFT ERROR: Duplicate Tranforms.", fun - elif fun.virtuality == "pure virtual": - print "AUTOFT WARNING: PURE VIRTUAL function requires tranform.", fun - else: - print "AUTOFT OK: Tranformed ", fun - fun.add_transformation ( * trans , **{"alias":fun.name} ) - fun.documentation = docit ("Auto Modified Arguments:", - desc, "...") + arg_position += 1 + if trans: + if fun.documentation: # it's already be tweaked: + print "AUTOFT ERROR: Duplicate Tranforms.", fun + elif fun.virtuality == "pure virtual": + print "AUTOFT WARNING: PURE VIRTUAL function requires tranform.", fun + else: + print "AUTOFT OK: Tranformed ", fun + fun.add_transformation ( * trans , **{"alias":fun.name} ) + fun.documentation = docit ("Auto Modified Arguments:", + desc, "...") + except: + pass def Fix_Void_Ptr_Args ( mb, pointee_types=['unsigned int','int', 'float', 'unsigned char', 'char', 'bool'], ignore_names=[] ): @@ -337,13 +336,22 @@ if fun.return_type.decl_string.startswith ( i ) and not fun.documentation: if not fun.name in known_names: print "WARNING: Excluding (function):", fun, "as it returns (pointer)", i - fun.exclude() + fun.exclude() for fun in mb.member_operators( allow_empty = True ): if declarations.is_pointer (fun.return_type) and not fun.documentation: for i in pointee_types: if fun.return_type.decl_string.startswith ( i ) and not fun.documentation: print "WARNING: Excluding (operator):", fun fun.exclude() + + # Change 15 Feb 2008 -- adding free function management + for fun in mb.free_functions( allow_empty = True ): + if declarations.is_pointer (fun.return_type) and not fun.documentation: + for i in pointee_types: + if fun.return_type.decl_string.startswith ( i ) and not fun.documentation: + if not fun.name in known_names: + print "WARNING: Excluding (free function):", fun, "as it returns (pointer)", i + fun.exclude() def AutoExclude( mb, MAIN_NAMESPACE=None ): """ Automaticaly exclude a range of things that don't convert well from C++ to Python Modified: trunk/python-ogre/code_generators/ogre/generate_code.py =================================================================== --- trunk/python-ogre/code_generators/ogre/generate_code.py 2008-02-16 01:21:27 UTC (rev 566) +++ trunk/python-ogre/code_generators/ogre/generate_code.py 2008-02-16 01:30:37 UTC (rev 567) @@ -654,7 +654,7 @@ # and change functions that return a variety of pointers to instead return unsigned int's pointee_types=['unsigned int','int', 'float', '::Ogre::Real', '::Ogre::uchar', '::Ogre::uint8', 'unsigned char', 'char'] - ignore_names=['ptr', 'useCountPointer'] # these are function names we know it's cool to exclude + ignore_names=[]## 'ptr', 'useCountPointer'] # these are function names we know it's cool to exclude common_utils.Fix_Pointer_Returns ( main_ns, pointee_types, ignore_names ) # functions that need to have implicit conversions turned off Deleted: trunk/python-ogre/code_generators/physx/1 =================================================================== --- trunk/python-ogre/code_generators/physx/1 2008-02-16 01:21:27 UTC (rev 566) +++ trunk/python-ogre/code_generators/physx/1 2008-02-16 01:30:37 UTC (rev 567) @@ -1,5261 +0,0 @@ - - -INFO Parsing xml file "C:\Development\python-ogre\code_generators\cache\physx_2.7.3_cache.xml" ... - - -INFO GCCXML version - 0.9 -Included Free Function int NxIntFloor(NxF32 const & f) [free function] -Included Free Function void NxDecomposeVector(NxVec3 & normalCompo, NxVec3 & tangentCompo, NxVec3 const & outwardDir, NxVec3 const & outwardNormal) [free function] -Included Free Function void NxComputeBarycentricPoint(NxVec3 & pt, NxVec3 const & p0, NxVec3 const & p1, NxVec3 const & p2, float u, float v) [free function] -Included Free Function void NxSetFPUExceptions(bool b) [free function] -Included Free Function bool NxSegmentOBBIntersect(NxVec3 const & p0, NxVec3 const & p1, NxVec3 const & center, NxVec3 const & extents, NxMat33 const & rot) [free function] -Included Free Function extern NxU32 NxGetValue(NxCookingValue cookValue) [free function] -Included Free Function void NxSetFPURoundingNear() [free function] -Included Free Function void NxFlexiCopy(void const * src, void * dst, NxU32 nbElem, NxU32 elemSize, NxU32 stride) [free function] -Included Free Function NxReal NxComputeConeMass(NxReal radius, NxReal length, NxReal density) [free function] -Included Free Function extern bool NxCookTriangleMesh(NxTriangleMeshDesc const & desc, NxStream & stream) [free function] -Included Free Function bool NxComputeBoxPoints(NxBox const & box, NxVec3 * pts) [free function] -Included Free Function NxU32 NxCrc32(void const * buffer, NxU32 nbBytes) [free function] -Included Free Function void NxComputeSphereInertiaTensor(NxVec3 & diagInertia, NxReal mass, NxReal radius, bool hollow) [free function] -Included Free Function bool NxSegmentBoxIntersect(NxVec3 const & p1, NxVec3 const & p2, NxVec3 const & bbox_min, NxVec3 const & bbox_max, NxVec3 & intercept) [free function] -Included Free Function NxF32 NxAngle(NxVec3 const & v0, NxVec3 const & v1) [free function] -Included Free Function void NxComputeBoxInertiaTensor(NxVec3 & diagInertia, NxReal mass, NxReal xlength, NxReal ylength, NxReal zlength) [free function] -Included Free Function void NxComputeBoxAroundCapsule(NxCapsule const & capsule, NxBox & box) [free function] -Included Free Function bool NxRayPlaneIntersect(NxRay const & ray, NxPlane const & plane, NxReal & dist, NxVec3 & pointOnPlane) [free function] -Included Free Function void NxSegmentCapsuleIntersect(NxSegment const & segment, NxCapsule const & capsule, NxU32 * nbImpacts, NxReal * t) [free function] -Included Free Function NxReal NxComputeConeDensity(NxReal radius, NxReal length, NxReal mass) [free function] -Included Free Function bool NxRayTriIntersect(NxVec3 const & orig, NxVec3 const & dir, NxVec3 const & vert0, NxVec3 const & vert1, NxVec3 const & vert2, float & t, float & u, float & v, bool cull) [free function] -Included Free Function NxReal NxComputeSphereMass(NxReal radius, NxReal density) [free function] -Included Free Function bool NxRayAABBIntersect(NxVec3 const & min, NxVec3 const & max, NxVec3 const & origin, NxVec3 const & dir, NxVec3 & coord) [free function] -Included Free Function extern bool NxSetCookingParams(NxCookingParams const & params) [free function] -Included Free Function void NxComputeBoxWorldEdgeNormal(NxBox const & box, NxU32 edge_index, NxVec3 & world_normal) [free function] -Included Free Function unsigned int const * NxGetBoxTriangles() [free function] -Included Free Function void NxFindRotationMatrix(NxVec3 const & x, NxVec3 const & b, NxMat33 & M) [free function] -Included Free Function void NxMergeSpheres(NxSphere & merged, NxSphere const & sphere0, NxSphere const & sphere1) [free function] -Included Free Function bool NxBuildSmoothNormals(NxU32 nbTris, NxU32 nbVerts, NxVec3 const * verts, unsigned int const * dFaces, NxU16 const * wFaces, NxVec3 * normals, bool flip=false) [free function] -Included Free Function NxVec3 const * NxGetBoxLocalEdgeNormals() [free function] -Included Free Function extern NxCookingParams const & NxGetCookingParams() [free function] -Included Free Function extern NxFoundationSDK * NxGetFoundationSDK() [free function] -Included Free Function void NxSegmentPlaneIntersect(NxVec3 const & v1, NxVec3 const & v2, NxPlane const & plane, NxReal & dist, NxVec3 & pointOnPlane) [free function] -Included Free Function unsigned int const * NxGetBoxEdges() [free function] -Included Free Function NX_BOOL NxPointTriangleIntersect2D(NxReal px, NxReal pz, NxReal p0x, NxReal p0z, NxReal e10x, NxReal e10z, NxReal e20x, NxReal e20z) [free function] -Included Free Function extern NxUserAllocator * NxGetPhysicsSDKAllocator() [free function] -Included Free Function unsigned int const * NxBoxVertexToQuad(NxU32 vertexIndex) [free function] -Included Free Function NxReal NxComputeEllipsoidDensity(NxVec3 const & extents, NxReal mass) [free function] -Included Free Function extern bool NxScaleCookedConvexMesh(NxStream const & source, NxReal scale, NxStream & dest) [free function] -Included Free Function bool NxRaySphereIntersect(NxVec3 const & origin, NxVec3 const & dir, NxReal length, NxVec3 const & center, NxReal radius, NxReal & hit_time, NxVec3 & hit_pos) [free function] -Included Free Function bool NxFastComputeSphere(NxSphere & sphere, unsigned int nb_verts, NxVec3 const * verts) [free function] -Included Free Function bool NxComputeBoxPlanes(NxBox const & box, NxPlane * planes) [free function] -Included Free Function bool NxTriBoxIntersect(NxVec3 const & vertex0, NxVec3 const & vertex1, NxVec3 const & vertex2, NxVec3 const & center, NxVec3 const & extents) [free function] -Included Free Function extern bool NxCookConvexMesh(NxConvexMeshDesc const & desc, NxStream & stream) [free function] -Included Free Function extern NxCookingInterface * NxGetCookingLib(NxU32 sdk_version_number) [free function] -Included Free Function NxI32 const * NxGetBoxEdgesAxes() [free function] -Included Free Function NxSepAxis NxSeparatingAxis(NxBox const & obb0, NxBox const & obb1, bool fullTest=true) [free function] -Included Free Function NxSepAxis NxSeparatingAxis(NxVec3 const & extents0, NxVec3 const & center0, NxMat33 const & rotation0, NxVec3 const & extents1, NxVec3 const & center1, NxMat33 const & rotation1, bool fullTest=true) [free function] -Included Free Function void NxComputeNormalCompo(NxVec3 & normalCompo, NxVec3 const & outwardDir, NxVec3 const & outwardNormal) [free function] -Included Free Function NxU32 NxRayAABBIntersect2(NxVec3 const & min, NxVec3 const & max, NxVec3 const & origin, NxVec3 const & dir, NxVec3 & coord, NxReal & t) [free function] -Included Free Function void NxNormalToTangents(NxVec3 const & n, NxVec3 & t1, NxVec3 & t2) [free function] -Included Free Function void NxSetFPURoundingDown() [free function] -Included Free Function void NxMakeFatEdge(NxVec3 & p0, NxVec3 & p1, NxF32 fatCoeff) [free function] -Included Free Function NxU32 NxRayCapsuleIntersect(NxVec3 const & origin, NxVec3 const & dir, NxCapsule const & capsule, NxReal * t) [free function] -Included Free Function void NxSetFPURoundingUp() [free function] -Included Free Function NxReal NxComputeEllipsoidMass(NxVec3 const & extents, NxReal density) [free function] -Included Free Function extern NxUtilLib * NxGetUtilLib() [free function] -Included Free Function void NxCreateBox(NxBox & box, NxBounds3 const & aabb, NxMat34 const & mat) [free function] -Included Free Function bool NxSegmentAABBIntersect(NxVec3 const & p0, NxVec3 const & p1, NxVec3 const & min, NxVec3 const & max) [free function] -Included Free Function NxReal NxComputeCylinderMass(NxReal radius, NxReal length, NxReal density) [free function] -Included Free Function extern NxCookingInterface * NxGetCookingLibWithID(NxU32 sdk_version_number, char * companyNameStr, char * appNameStr, char * appVersionStr, char * appUserDefinedStr) [free function] -Included Free Function extern bool NxCreatePMap(NxPMap & pmap, NxTriangleMesh const & mesh, NxU32 density, NxUserOutputStream * outputStream=0) [free function] -Included Free Function NxBSphereMethod NxComputeSphere(NxSphere & sphere, unsigned int nb_verts, NxVec3 const * verts) [free function] -Included Free Function int NxIntChop(NxF32 const & f) [free function] -Included Free Function NX_BOOL NxPointTriangleIntersect(NxVec3 const & p, NxVec3 const & p0, NxVec3 const & edge10, NxVec3 const & edge20) [free function] -Included Free Function bool NxComputeBoxVertexNormals(NxBox const & box, NxVec3 * pts) [free function] -Included Free Function extern bool NxCookClothMesh(NxClothMeshDesc const & desc, NxStream & stream) [free function] -Included Free Function extern void NxReleasePhysicsSDK(NxPhysicsSDK * sdk) [free function] -Included Free Function extern void NxCloseCooking() [free function] -Included Free Function bool NxRayOBBIntersect(NxRay const & ray, NxVec3 const & center, NxVec3 const & extents, NxMat33 const & rot) [free function] -Included Free Function void NxComputeBounds(NxBounds3 & bounds, NxU32 nbVerts, NxVec3 const * verts) [free function] -Included Free Function void NxComputeBounds(NxVec3 & min, NxVec3 & max, NxU32 nbVerts, NxVec3 const * verts) [free function] -Included Free Function NxU32 NxNextPowerOfTwo(NxU32 x) [free function] -Included Free Function extern NxPhysicsSDK * NxCreatePhysicsSDKWithID(NxU32 sdkVersion, char * companyNameStr, char * appNameStr, char * appVersionStr, char * appUserDefinedStr, NxUserAllocator * allocator=0, NxUserOutputStream * outputStream=0, NxPhysicsSDKDesc const & desc=::NxPhysicsSDKDesc( ), NxSDKCreateError * errorCode=0) [free function] -Included Free Function extern bool NxCookSoftBodyMesh(NxSoftBodyMeshDesc const & desc, NxStream & stream) [free function] -Included Free Function extern bool NxPlatformMismatch() [free function] -Included Free Function NxF32 NxComputeSquareDistance(NxSegment const & seg, NxVec3 const & point, NxF32 * t) [free function] -Included Free Function bool NxBoxContainsPoint(NxBox const & box, NxVec3 const & p) [free function] -Included Free Function bool NxIsBoxAInsideBoxB(NxBox const & a, NxBox const & b) [free function] -Included Free Function extern bool NxReleasePMap(NxPMap & pmap) [free function] -Included Free Function void NxSetFPUPrecision24() [free function] -Included Free Function void NxComputeCapsuleAroundBox(NxBox const & box, NxCapsule & capsule) [free function] -Included Free Function void NxSetFPUPrecision53() [free function] -Included Free Function void NxSetFPUPrecision64() [free function] -Included Free Function int NxIntCeil(NxF32 const & f) [free function] -Included Free Function extern bool NxInitCooking(NxUserAllocator * allocator=0, NxUserOutputStream * outputStream=0) [free function] -Included Free Function NxReal NxComputeBoxMass(NxVec3 const & extents, NxReal density) [free function] -Included Free Function void NxSetFPURoundingChop() [free function] -Included Free Function extern void NxReportCooking() [free function] -Included Free Function void NxComputeTangentCompo(NxVec3 & outwardDir, NxVec3 const & outwardNormal) [free function] -Included Free Function NxReal NxComputeBoxDensity(NxVec3 const & extents, NxReal mass) [free function] -Included Free Function NxReal NxComputeCylinderDensity(NxReal radius, NxReal length, NxReal mass) [free function] -Included Free Function bool NxBoxBoxIntersect(NxBox const & obb0, NxBox const & obb1, bool fullTest=true) [free function] -Included Free Function bool NxBoxBoxIntersect(NxVec3 const & extents0, NxVec3 const & center0, NxMat33 const & rotation0, NxVec3 const & extents1, NxVec3 const & center1, NxMat33 const & rotation1, bool fullTest) [free function] -Included Free Function extern NxPhysicsSDK * NxGetPhysicsSDK() [free function] -Included Free Function unsigned int const * NxGetBoxQuads() [free function] -Included Free Function extern NxPhysicsSDK * NxCreatePhysicsSDK(NxU32 sdkVersion, NxUserAllocator * allocator=0, NxUserOutputStream * outputStream=0, NxPhysicsSDKDesc const & desc=::NxPhysicsSDKDesc( ), NxSDKCreateError * errorCode=0) [free function] -Included Free Function NxF32 NxComputeDistanceSquared(NxRay const & ray, NxVec3 const & point, NxF32 * t) [free function] -Included Free Function bool NxDiagonalizeInertiaTensor(NxMat33 const & denseInertia, NxVec3 & diagonalInertia, NxMat33 & rotation) [free function] -Included Free Function NxReal NxComputeSphereDensity(NxReal radius, NxReal mass) [free function] -Included Free Function bool NxSweptSpheresIntersect(NxSphere const & sphere0, NxVec3 const & velocity0, NxSphere const & sphere1, NxVec3 const & velocity1) [free function] -Excluding static const NxPiF32 [variable] -Excluding static const NxPiF64 [variable] -Excluding static const NxHalfPiF32 [variable] -Excluding static const NxHalfPiF64 [variable] -Excluding static const NX_NO_HIGH_LIMIT [variable] -Excluding static const NxTwoPiF32 [variable] -Excluding static const NxTwoPiF64 [variable] -Excluding static const NX_NO_LOW_LIMIT [variable] -Excluding static const NxInvPiF32 [variable] -Excluding static const NxInvPiF64 [variable] -excluded NxBitField::FlagRef::bitField [variable] private -excluded NxBitField::FlagRef::bitIndex [variable] private -excluded NxBitField::FlagRef::bitField [variable] private -excluded NxBitField::FlagRef::bitIndex [variable] private -excluded NxMat33::data [variable] private -excluded NxActorDescBase::type [variable] protected -excluded NxDebugRenderable::numPoints [variable] private -excluded NxDebugRenderable::numLines [variable] private -excluded NxDebugRenderable::numTriangles [variable] private -excluded NxDebugRenderable::points [variable] private -excluded NxDebugRenderable::lines [variable] private -excluded NxDebugRenderable::triangles [variable] private -excluded NxJointDesc::type [variable] protected -excluded NxForceFieldShapeDesc::type [variable] protected -excluded NxShapeDesc::type [variable] protected -excluded NxContactStreamIterator::pointNormalForce [variable] protected -excluded NxContactStreamIterator::stream [variable] protected -excluded NxContactStreamIterator::numPairs [variable] private -excluded NxContactStreamIterator::shapes [variable] private -excluded NxContactStreamIterator::shapeFlags [variable] private -excluded NxContactStreamIterator::numPatches [variable] private -excluded NxContactStreamIterator::patchNormal [variable] private -excluded NxContactStreamIterator::numPoints [variable] private -excluded NxContactStreamIterator::point [variable] private -excluded NxContactStreamIterator::separation [variable] private -excluded NxContactStreamIterator::featureIndex0 [variable] private -excluded NxContactStreamIterator::featureIndex1 [variable] private -excluded NxContactStreamIterator::numPairsRemaining [variable] private -excluded NxContactStreamIterator::numPatchesRemaining [variable] private -excluded NxContactStreamIterator::numPointsRemaining [variable] private -excluded NxFluidDescBase::type [variable] protected -excluded NxArray<NxFluidEmitterDesc, NxAllocatorDefault>::first [variable] private -excluded NxArray<NxFluidEmitterDesc, NxAllocatorDefault>::last [variable] private -excluded NxArray<NxFluidEmitterDesc, NxAllocatorDefault>::memEnd [variable] private -excluded NxArray<NxFluidEmitterDesc, NxAllocatorDefault>::allocator [variable] private -excluded NxArray<NxShapeDesc*, NxAllocatorDefault>::first [variable] private -excluded NxArray<NxShapeDesc*, NxAllocatorDefault>::last [variable] private -excluded NxArray<NxShapeDesc*, NxAllocatorDefault>::memEnd [variable] private -excluded NxArray<NxShapeDesc*, NxAllocatorDefault>::allocator [variable] private -excluded NxEffectorDesc::type [variable] protected -excluding function ::NxArray<NxShapeDesc*, NxAllocatorDefault>::begin -excluding function ::NxArray<NxFluidEmitterDesc, NxAllocatorDefault>::deleteEntry -excluding function ::NxArray<NxShapeDesc*, NxAllocatorDefault>::end -excluding function ::NxCookingInterface::NxCreatePMap -excluding function ::NxForceField::releaseShape -excluding function ::NxUtilLib::NxGetBoxEdgesAxes -excluding function ::NxImplicitScreenMesh::getProjectionMatrix -excluding function ::NxVec3::get -excluding function ::NxBitField::rangeToDenseMask -excluding function ::NxBitField::maskToShift -NxSweepQueryHit [struct] -NxBitField [class] -NxBitField::FlagRef [class] -NxConvexShapeDesc [class] -NxMat33 [class] -NxVec3 [class] -NxJointLimitPairDesc [class] -NxWheelShape [class] -NxActorDescBase [class] -NxMaterialDesc [class] -NxRay [class] -NxPointInPlaneJoint [class] -NxWheelShapeDesc [class] -NxMaterial [class] -NxFluidEmitterDesc [class] -NxUserRaycastReport [class] -NxPlaneShape [class] -_ldiv_t [struct] -NxExtension [class] -_Nx3F32 [struct] -NxSphereShapeDesc [class] -NxContactPair [class] -NxSceneLimits [class] -NxCCDSkeleton [class] -NxCapsuleForceFieldShapeDesc [class] -_heapinfo [struct] -NxMeshData [class] -NxBox [class] -tagLC_ID [struct] -NxEffector [class] -_exception [struct] -NxTriangle32 [struct] -NxPrismaticJointDesc [class] -NxFluidEmitter [class] -NxGroupsMask [class] -NxTriangleMeshShape [class] -NxDebugRenderable [class] -NxFixedJoint [class] -NxBoxForceFieldShape [class] -NxDebugPoint [struct] -localeinfo_struct [struct] -NxSoftBodyDesc [class] -NxFluid [class] -_LDOUBLE [struct] -NxPulleyJointDesc [class] -NxForceFieldDesc [class] -NxAllocatorDefault [class] -NxFluidPacketData [class] -NxPrismaticJoint [class] -NxShape [class] -NxProfileData [class] -NxPointInPlaneJointDesc [class] -NxTriangleMeshDesc [class] -NxSimpleTriangleMesh [class] -NxSphereShape [class] -NxSweepCache [class] -NxAllocateable [class] -NxJointDesc [class] -NxUserNotify [class] -NxPulleyJoint [class] -NxTask [class] -NxSoftBodyMesh [class] -NxForceFieldShapeDesc [class] -NxFixedJointDesc [class] -NxPMap [class] -NxCapsuleShapeDesc [class] -NxShapeDesc [class] -_div_t [struct] -NxPhysicsSDKDesc [class] -NxUserContactModify [class] -NxUserContactModify::NxContactCallbackData [struct] -NxSoftBodySplitPairData [class] -_CRT_FLOAT [struct] -NxTireFunctionDesc [class] -NxPointOnLineJointDesc [class] -NxTriangle [class] -NxClothMeshDesc [class] -NxScene [class] -NxInterface [class] -NxCloth [class] -NxClothMesh [class] -NxSpringAndDamperEffectorDesc [class] -NxUserOutputStream [class] -NxHeightFieldDesc [class] -NxCapsule [class] -NxFluidUserNotify [class] -NxUserWheelContactModify [class] -NxSphereForceFieldShape [class] -NxCookingInterface [class] -NxJoint [class] -NxContactStreamIterator [class] -NxSceneQueryDesc [class] -NxConvexForceFieldShapeDesc [class] -NxSceneQuery [class] -NxSphere [class] -NxBoxShapeDesc [class] -NxUserScheduler [class] -NxDistanceJointDesc [class] -NxHeightField [class] -NxJointDriveDesc [class] -NxSphereForceFieldShapeDesc [class] -NxUserAllocator [class] -NxSceneStatistic [struct] -NxClothDesc [class] -NxPointOnLineJoint [class] -NxUserContactReport [class] -NxParticleIdData [class] -NxBoxForceFieldShapeDesc [class] -NxFluidDescBase [class] -NxImplicitScreenMeshDesc [class] -NxArray<NxFluidEmitterDesc, NxAllocatorDefault> [class] -NxArray<NxShapeDesc*, NxAllocatorDefault> [class] -NxPairFlag [class] -NxDistanceJoint [class] -NxSphericalJoint [class] -threadlocaleinfostruct [struct] -threadlocaleinfostruct [struct] -NxHeightFieldShape [class] -NxHeightFieldShapeDesc [class] -NxImplicitScreenMesh [class] -NxActorGroupPair [struct] -NxParticleData [class] -NxBounds3 [class] -_complex [struct] -NxActorPairFilter [class] -NxCapsuleShape [class] -NxTriangleMesh [class] -NxConstraintDominance [struct] -NxUserEntityReport<NxShape*> [class] -NxUserEntityReport<unsigned int> [class] -NxUserEntityReport<NxSweepQueryHit> [class] -NxWheelContactData [class] -NxProfilerData [class] -NxPlaneShapeDesc [class] -NxQuat [class] -_LDBL12 [struct] -NxRevoluteJoint [class] -NxSceneStats2 [class] -NxMat34 [class] -NxJointLimitSoftDesc [class] -NxHeightFieldSample [struct] -NxFluidPacket [struct] -NxForceFieldShape [class] -NxSpringDesc [class] -NxActiveTransform [struct] -NxJointLimitDesc [class] -NxSceneStats [class] -NxRevoluteJointDesc [class] -NxMotorDesc [class] -NxFluidDesc [class] -NxDebugTriangle [struct] -NxRemoteDebuggerEventListener [class] -NxSegment [class] -NxCookingParams [struct] -Nx9Real [class] -Nx9Real::S [struct] -Nx9Real [union] -NxConvexMeshDesc [class] -_LONGDOUBLE [struct] -NxFoundationSDK [class] -NxSceneQueryReport [class] -NxBodyDesc [class] -NxConvexMesh [class] -NxTriangleMeshShapeDesc [class] -NxSpringAndDamperEffector [class] -NxCompartment [class] -NxSoftBodySplitPair [class] -NxRemoteDebugger [class] -NxUserTriggerReport [class] -NxPlane [class] -NxStream [class] -NxDebugLine [struct] -NxParticleUpdateData [class] -NxD6Joint [class] -NxUserActorPairFiltering [class] -NxPhysicsSDK [class] -NxActor [class] -_CRT_DOUBLE [struct] -NxSceneDesc [class] -NxMath [class] -NxCylindricalJointDesc [class] -NxCapsuleForceFieldShape [class] -NxActorDesc [class] -NxUtilLib [class] -NxD6JointDesc [class] -NxConvexShape [class] -NxCylindricalJoint [class] -NxRaycastHit [struct] -NxCompartmentDesc [class] -NxSoftBody [class] -NxConvexForceFieldShape [class] -NxJointLimitSoftPairDesc [class] -NxEffectorDesc [class] -NxBoxShape [class] -NxSoftBodyMeshDesc [class] -NxForceField [class] -NxProfileZone [class] -NxSphericalJointDesc [class] -__si_class_type_info_pseudo [struct] -__class_type_info_pseudo [struct] -__vmi_class_type_info_pseudo1 [struct] -__type_info_pseudo [struct] -__base_class_type_info_pseudo [struct] -Excluding Class: NxArray<NxShapeDesc*, NxAllocatorDefault> -Excluding Class: NxArray<NxFluidEmitterDesc, NxAllocatorDefault> -Excluding: NxReal const * NxVec3::get() const [member function] -Excluding Operator: NxReal & NxMat33::operator()(int row, int col) [member operator] -CHECK bool NxTriangleMeshShape::overlapAABBTriangles(NxBounds3 const & bounds, NxU32 flags, NxUserEntityReport<unsigned int> * callback) const [member function] 2 -CHECK bool NxJoint::getNextLimitPlane(NxVec3 & planeNormal, NxReal & planeD, NxReal * restitution=0) [member function] 2 -CHECK bool NxHeightFieldShape::overlapAABBTriangles(NxBounds3 const & bounds, NxU32 flags, NxUserEntityReport<unsigned int> * callback) const [member function] 2 -CHECK void NxImplicitScreenMesh::setProjectionMatrix(NxReal const * projection44) [member function] 0 -CHECK bool NxUserEntityReport<unsigned int>::onEvent(NxU32 nbEntities, unsigned int * entities) [member function] 1 -CHECK void NxQuat::setWXYZ(NxReal const * d) [member function] 0 -CHECK void NxQuat::setXYZW(NxReal const * d) [member function] 0 -CHECK static NxU32 NxMath::hash(unsigned int const * k, NxU32 length) [member function] 0 -CHECK NxU32 NxUtilLib::NxRayCapsuleIntersect(NxVec3 const & origin, NxVec3 const & dir, NxCapsule const & capsule, NxReal * t) [member function] 3 -CHECK bool NxUtilLib::NxBuildSmoothNormals(NxU32 nbTris, NxU32 nbVerts, NxVec3 const * verts, unsigned int const * dFaces, NxU16 const * wFaces, NxVec3 * normals, bool flip=false) [member function] 3 -CHECK bool NxUtilLib::NxSweepBoxTriangles(NxU32 nb_tris, NxTriangle const * triangles, NxTriangle const * edge_triangles, unsigned int const * edge_flags, NxBounds3 const & box, NxVec3 const & dir, float length, NxVec3 & hit, NxVec3 & normal, float & d, NxU32 & index, NxU32 * cachedIndex=0) [member function] 3 -CHECK bool NxUtilLib::NxSweepCapsuleTriangles(NxU32 up_direction, NxU32 nb_tris, NxTriangle const * triangles, unsigned int const * edge_flags, NxVec3 const & center, float const radius, float const height, NxVec3 const & dir, float length, NxVec3 & hit, NxVec3 & normal, float & d, NxU32 & index, NxU32 * cachedIndex=0) [member function] 3 -CHECK float NxUtilLib::NxSegmentOBBSqrDist(NxSegment const & segment, NxVec3 const & c0, NxVec3 const & e0, NxMat33 const & r0, float * t, NxVec3 * p) [member function] 4 -Excluding: NxVec3::NxVec3(NxReal const * v) [constructor] -Excluding: NxDebugRenderable::NxDebugRenderable(NxU32 np, NxDebugPoint const * p, NxU32 nl, NxDebugLine const * l, NxU32 nt, NxDebugTriangle const * t) [constructor] -Excluding (function): unsigned int const * NxUtilLib::NxGetBoxEdges() [member function] as it returns (pointer) unsigned int -Excluding (function): unsigned int const * NxUtilLib::NxGetBoxTriangles() [member function] as it returns (pointer) unsigned int -Excluding (function): unsigned int const * NxUtilLib::NxGetBoxQuads() [member function] as it returns (pointer) unsigned int -Excluding (function): unsigned int const * NxUtilLib::NxBoxVertexToQuad(NxU32 vertexIndex) [member function] as it returns (pointer) unsigned int -Wrapped: NxFluidEmitter * * NxFluid::getEmitters() const [member function] -Wrapped: NxImplicitScreenMesh * * NxFluid::getScreenSurfaceMeshes() const [member function] -Wrapped: NxForceField * * NxScene::getForceFields() [member function] -Wrapped: NxActor * * NxScene::getActors() [member function] -Wrapped: NxFluid * * NxScene::getFluids() [member function] -Wrapped: NxImplicitScreenMesh * * NxScene::getImplicitScreenMeshes() [member function] -Wrapped: NxCloth * * NxScene::getCloths() [member function] -Wrapped: NxSoftBody * * NxScene::getSoftBodies() [member function] -Excluded: NxShapeDesc * * NxArray<Nx - -WARNING: NxSweepQueryHit [struct] - -> warning W1025: Py++ will generate class wrapper - class contains - -> "hitShape" - T* member variable - - -WARNING: NxSweepQueryHit [struct] - -> warning W1025: Py++ will generate class wrapper - class contains - -> "sweepShape" - T* member variable - - -WARNING: NxSweepQueryHit::userData [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxConvexShapeDesc [class] - -> warning W1025: Py++ will generate class wrapper - class contains - -> "meshData" - T* member variable - - -WARNING: void NxVec3::set(NxF32 const * v) [member function] - -> execution error W1010: The function introduces registration order - -> problem. For more information about the problem read next document: - -> http://language- - -> binding.net/pyplusplus/documentation/functions/registration_order.html - -> Problematic functions list: void NxVec3::set(NxReal v) - -> [member function] - - -WARNING: void NxVec3::set(NxReal v) [member function] - -> execution error W1010: The function introduces registration order - -> problem. For more information about the problem read next document: - -> http://language- - -> binding.net/pyplusplus/documentation/functions/registration_order.html - -> Problematic functions list: void NxVec3::set(NxF32 const * - -> v) [member function] - - -WARNING: NxWheelShape [class] - -> warning W1023: Py++ will generate class wrapper - there are few - -> functions that should be redefined in class wrapper. The functions - -> are: checkOverlapAABB, checkOverlapCapsule, checkOverlapOBB, - -> checkOverlapSphere, getActor, getCCDSkeleton, getFlag, - -> getGlobalOrientation, getGlobalPose, getGlobalPosition, getGroup, - -> getGroupsMask, getLocalOrientation, getLocalPose, getLocalPosition, - -> getMaterial, getName, getSkinWidth, getType, getWorldBounds, is, is, - -> raycast, setCCDSkeleton, setFlag, setGlobalOrientation, setGlobalPose, - -> setGlobalPosition, setGroup, setGroupsMask, setLocalOrientation, - -> setLocalPose, setLocalPosition, setMaterial, setName, setSkinWidth. - - -WARNING: NxActorDescBase [class] - -> warning W1025: Py++ will generate class wrapper - class contains - -> "body" - T* member variable - - -WARNING: NxActorDescBase [class] - -> warning W1025: Py++ will generate class wrapper - class contains - -> "compartment" - T* member variable - - -WARNING: NxActorDescBase [class] - -> warning W1031: Py++ will generate class wrapper - user asked to expose - -> non - public member function "NxActorDescBase" - - -WARNING: NxActorDescBase [class] - -> warning W1031: Py++ will generate class wrapper - user asked to expose - -> non - public member function "isValidInternal" - - -WARNING: NxActorDescBase::userData [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxActorDescBase::name [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxMaterialDesc [class] - -> warning W1025: Py++ will generate class wrapper - class contains - -> "spring" - T* member variable - - -WARNING: NxPointInPlaneJoint [class] - -> warning W1023: Py++ will generate class wrapper - there are few - -> functions that should be redefined in class wrapper. The functions - -> are: addLimitPlane, getActors, getBreakable, getGlobalAnchor, - -> getGlobalAxis, getLimitPoint, getName, getNextLimitPlane, getScene, - -> getState, getType, hasMoreLimitPlanes, is, purgeLimitPlanes, - -> resetLimitPlaneIterator, setBreakable, setGlobalAnchor, setGlobalAxis, - -> setLimitPoint, setName. - - -WARNING: NxWheelShapeDesc [class] - -> warning W1025: Py++ will generate class wrapper - class contains - -> "wheelContactModify" - T* member variable - - -WARNING: NxMaterial [class] - -> warning W1031: Py++ will generate class wrapper - user asked to expose - -> non - public member function "NxMaterial" - - -WARNING: NxMaterial::userData [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxScene & NxMaterial::getScene() const [member function] - -> warning W1049: This method could not be overriden in Python - method - -> returns reference to local variable! - - -WARNING: NxFluidEmitterDesc [class] - -> warning W1025: Py++ will generate class wrapper - class contains - -> "frameShape" - T* member variable - - -WARNING: NxFluidEmitterDesc::userData [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxFluidEmitterDesc::name [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxPlaneShape [class] - -> warning W1023: Py++ will generate class wrapper - there are few - -> functions that should be redefined in class wrapper. The functions - -> are: checkOverlapAABB, checkOverlapCapsule, checkOverlapOBB, - -> checkOverlapSphere, getActor, getCCDSkeleton, getFlag, - -> getGlobalOrientation, getGlobalPose, getGlobalPosition, getGroup, - -> getGroupsMask, getLocalOrientation, getLocalPose, getLocalPosition, - -> getMaterial, getName, getSkinWidth, getType, getWorldBounds, is, is, - -> raycast, setCCDSkeleton, setFlag, setGlobalOrientation, setGlobalPose, - -> setGlobalPosition, setGroup, setGroupsMask, setLocalOrientation, - -> setLocalPose, setLocalPosition, setMaterial, setName, setSkinWidth. - - -WARNING: NxContactPair [class] - -> warning W1027: Py++ will generate class wrapper - class contains - -> "actors" - array member variable - - -WARNING: NxContactPair::stream [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxMeshData::verticesPosBegin [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxMeshData::verticesNormalBegin [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxMeshData::numVerticesPtr [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxMeshData::indicesBegin [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxMeshData::numIndicesPtr [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxMeshData::parentIndicesBegin [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxMeshData::numParentIndicesPtr [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxMeshData::dirtyBufferFlagsPtr [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxMeshData::name [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxEffector [class] - -> warning W1031: Py++ will generate class wrapper - user asked to expose - -> non - public member function "NxEffector" - - -WARNING: NxEffector::userData [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxEffector::appData [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxScene & NxEffector::getScene() const [member function] - -> warning W1049: This method could not be overriden in Python - method - -> returns reference to local variable! - - -WARNING: NxTriangle32 [struct] - -> warning W1027: Py++ will generate class wrapper - class contains "v" - - -> array member variable - - -WARNING: NxFluidEmitter [class] - -> warning W1031: Py++ will generate class wrapper - user asked to expose - -> non - public member function "NxFluidEmitter" - - -WARNING: NxFluidEmitter::userData [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxFluid & NxFluidEmitter::getFluid() const [member function] - -> warning W1049: This method could not be overriden in Python - method - -> returns reference to local variable! - - -WARNING: NxTriangleMeshShape [class] - -> warning W1020: Py++ will generate class wrapper - hand written code - -> should be added to the wrapper class - - -WARNING: NxTriangleMeshShape [class] - -> warning W1023: Py++ will generate class wrapper - there are few - -> functions that should be redefined in class wrapper. The functions - -> are: checkOverlapAABB, checkOverlapCapsule, checkOverlapOBB, - -> checkOverlapSphere, getActor, getCCDSkeleton, getFlag, - -> getGlobalOrientation, getGlobalPose, getGlobalPosition, getGroup, - -> getGroupsMask, getLocalOrientation, getLocalPose, getLocalPosition, - -> getMaterial, getName, getSkinWidth, getType, getWorldBounds, is, is, - -> raycast, setCCDSkeleton, setFlag, setGlobalOrientation, setGlobalPose, - -> setGlobalPosition, setGroup, setGroupsMask, setLocalOrientation, - -> setLocalPose, setLocalPosition, setMaterial, setName, setSkinWidth. - - -WARNING: NxTriangleMesh & NxTriangleMeshShape::getTriangleMesh() [member function] - -> warning W1049: This method could not be overriden in Python - method - -> returns reference to local variable! - - -WARNING: NxTriangleMesh const & NxTriangleMeshShape::getTriangleMesh() const [member function] - -> warning W1049: This method could not be overriden in Python - method - -> returns reference to local variable! - - -WARNING: bool NxRayPlaneIntersect(NxRay const & ray, NxPlane const & plane, NxReal & dist, NxVec3 & pointOnPlane) [free function] - -> execution error W1009: The function takes as argument (name=dist, - -> pos=2) non-const reference to Python immutable type - function could - -> not be called from Python. Take a look on "Function Transformation" - -> functionality and define the transformation. - - -WARNING: NxFixedJoint [class] - -> warning W1023: Py++ will generate class wrapper - there are few - -> functions that should be redefined in class wrapper. The functions - -> are: addLimitPlane, getActors, getBreakable, getGlobalAnchor, - -> getGlobalAxis, getLimitPoint, getName, getNextLimitPlane, getScene, - -> getState, getType, hasMoreLimitPlanes, is, purgeLimitPlanes, - -> resetLimitPlaneIterator, setBreakable, setGlobalAnchor, setGlobalAxis, - -> setLimitPoint, setName. - - -WARNING: NxBoxForceFieldShape [class] - -> warning W1023: Py++ will generate class wrapper - there are few - -> functions that should be redefined in class wrapper. The functions - -> are: getFlags, getForceField, getName, getPose, getType, setFlags, - -> setName, setPose. - - -WARNING: NxSoftBodyDesc [class] - -> warning W1025: Py++ will generate class wrapper - class contains - -> "softBodyMesh" - T* member variable - - -WARNING: NxSoftBodyDesc [class] - -> warning W1025: Py++ will generate class wrapper - class contains - -> "compartment" - T* member variable - - -WARNING: NxSoftBodyDesc::userData [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxSoftBodyDesc::name [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxFluid [class] - -> warning W1020: Py++ will generate class wrapper - hand written code - -> should be added to the wrapper class - - -WARNING: NxFluid [class] - -> warning W1031: Py++ will generate class wrapper - user asked to expose - -> non - public member function "NxFluid" - - -WARNING: NxFluid::userData [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxScene & NxFluid::getScene() const [member function] - -> warning W1049: This method could not be overriden in Python - method - -> returns reference to local variable! - - -WARNING: NxPulleyJointDesc [class] - -> warning W1027: Py++ will generate class wrapper - class contains - -> "pulley" - array member variable - - -WARNING: NxForceFieldDesc [class] - -> warning W1025: Py++ will generate class wrapper - class contains - -> "actor" - T* member variable - - -WARNING: NxForceFieldDesc::name [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxForceFieldDesc::userData [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: bool NxRayTriIntersect(NxVec3 const & orig, NxVec3 const & dir, NxVec3 const & vert0, NxVec3 const & vert1, NxVec3 const & vert2, float & t, float & u, float & v, bool cull) [free function] - -> execution error W1009: The function takes as argument (name=t, pos=5) - -> non-const reference to Python immutable type - function could not be - -> called from Python. Take a look on "Function Transformation" - -> functionality and define the transformation. - - -WARNING: bool NxRayTriIntersect(NxVec3 const & orig, NxVec3 const & dir, NxVec3 const & vert0, NxVec3 const & vert1, NxVec3 const & vert2, float & t, float & u, float & v, bool cull) [free function] - -> execution error W1009: The function takes as argument (name=u, pos=6) - -> non-const reference to Python immutable type - function could not be - -> called from Python. Take a look on "Function Transformation" - -> functionality and define the transformation. - - -WARNING: bool NxRayTriIntersect(NxVec3 const & orig, NxVec3 const & dir, NxVec3 const & vert0, NxVec3 const & vert1, NxVec3 const & vert2, float & t, float & u, float & v, bool cull) [free function] - -> execution error W1009: The function takes as argument (name=v, pos=7) - -> non-const reference to Python immutable type - function could not be - -> called from Python. Take a look on "Function Transformation" - -> functionality and define the transformation. - - -WARNING: NxFluidPacketData [class] - -> warning W1025: Py++ will generate class wrapper - class contains - -> "bufferFluidPackets" - T* member variable - - -WARNING: NxFluidPacketData::numFluidPacketsPtr [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxPrismaticJoint [class] - -> warning W1023: Py++ will generate class wrapper - there are few - -> functions that should be redefined in class wrapper. The functions - -> are: addLimitPlane, getActors, getBreakable, getGlobalAnchor, - -> getGlobalAxis, getLimitPoint, getName, getNextLimitPlane, getScene, - -> getState, getType, hasMoreLimitPlanes, is, purgeLimitPlanes, - -> resetLimitPlaneIterator, setBreakable, setGlobalAnchor, setGlobalAxis, - -> setLimitPoint, setName. - - -WARNING: NxCompartmentType [enumeration] - -> execution error W1032: Boost.Python library does not support enums - -> with duplicate values. You can read more about this here: - -> http://boost.org/libs/python/todo.html#support-for-enums-with- - -> duplicate-values . The quick work around is to add new class variable - -> to the exported enum, from Python. - - -WARNING: NxShape [class] - -> warning W1031: Py++ will generate class wrapper - user asked to expose - -> non - public member function "NxShape" - - -WARNING: NxShape::userData [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxShape::appData [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxActor & NxShape::getActor() const [member function] - -> warning W1049: This method could not be overriden in Python - method - -> returns reference to local variable! - - -WARNING: NxProfileData [class] - -> warning W1031: Py++ will generate class wrapper - user asked to expose - -> non - public member function "NxProfileData" - - -WARNING: NxTriangleMeshDesc [class] - -> warning W1025: Py++ will generate class wrapper - class contains - -> "pmap" - T* member variable - - -WARNING: NxTriangleMeshDesc::materialIndices [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxSimpleTriangleMesh::points [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxSimpleTriangleMesh::triangles [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxSphereShape [class] - -> warning W1023: Py++ will generate class wrapper - there are few - -> functions that should be redefined in class wrapper. The functions - -> are: checkOverlapAABB, checkOverlapCapsule, checkOverlapOBB, - -> checkOverlapSphere, getActor, getCCDSkeleton, getFlag, - -> getGlobalOrientation, getGlobalPose, getGlobalPosition, getGroup, - -> getGroupsMask, getLocalOrientation, getLocalPose, getLocalPosition, - -> getMaterial, getName, getSkinWidth, getType, getWorldBounds, is, is, - -> raycast, setCCDSkeleton, setFlag, setGlobalOrientation, setGlobalPose, - -> setGlobalPosition, setGroup, setGroupsMask, setLocalOrientation, - -> setLocalPose, setLocalPosition, setMaterial, setName, setSkinWidth. - - -WARNING: NxSweepCache [class] - -> warning W1031: Py++ will generate class wrapper - user asked to expose - -> non - public member function "NxSweepCache" - - -WARNING: static void * NxAllocateable::operator new(size_t size, NxMemoryType type) [member operator] - -> compilation error W1014: "operator new" is not supported. See - -> Boost.Python documentation: - -> http://www.boost.org/libs/python/doc/v2/operators.html#introduction. - - -WARNING: static void * NxAllocateable::operator new [](size_t size, NxMemoryType type) [member operator] - -> compilation error W1014: "operator new []" is not supported. See - -> Boost.Python documentation: - -> http://www.boost.org/libs/python/doc/v2/operators.html#introduction. - - -WARNING: static void NxAllocateable::operator delete(void * p) [member operator] - -> compilation error W1014: "operator delete" is not supported. See - -> Boost.Python documentation: - -> http://www.boost.org/libs/python/doc/v2/operators.html#introduction. - - -WARNING: static void NxAllocateable::operator delete [](void * p) [member operator] - -> compilation error W1014: "operator delete []" is not supported. See - -> Boost.Python documentation: - -> http://www.boost.org/libs/python/doc/v2/operators.html#introduction. - - -WARNING: NxJointDesc [class] - -> warning W1027: Py++ will generate class wrapper - class contains - -> "actor" - array member variable - - -WARNING: NxJointDesc [class] - -> warning W1027: Py++ will generate class wrapper - class contains - -> "localNormal" - array member variable - - -WARNING: NxJointDesc [class] - -> warning W1027: Py++ will generate class wrapper - class contains - -> "localAxis" - array member variable - - -WARNING: NxJointDesc [class] - -> warning W1027: Py++ will generate class wrapper - class contains - -> "localAnchor" - array member variable - - -WARNING: NxJointDesc [class] - -> warning W1031: Py++ will generate class wrapper - user asked to expose - -> non - public member function "NxJointDesc" - - -WARNING: NxJointDesc::userData [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxJointDesc::name [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: void NxUserNotify::onWake(NxActor * * actors, NxU32 count) [member function] - -> warning W1051: The function takes as argument (name=actors, pos=0) - -> "NxActor * *" type. You have to specify a call policies or to use - -> "Function Transformation" functionality. - - -WARNING: void NxUserNotify::onSleep(NxActor * * actors, NxU32 count) [member function] - -> warning W1051: The function takes as argument (name=actors, pos=0) - -> "NxActor * *" type. You have to specify a call policies or to use - -> "Function Transformation" functionality. - - -WARNING: NxPulleyJoint [class] - -> warning W1023: Py++ will generate class wrapper - there are few - -> functions that should be redefined in class wrapper. The functions - -> are: addLimitPlane, getActors, getBreakable, getGlobalAnchor, - -> getGlobalAxis, getLimitPoint, getName, getNextLimitPlane, getScene, - -> getState, getType, hasMoreLimitPlanes, is, purgeLimitPlanes, - -> resetLimitPlaneIterator, setBreakable, setGlobalAnchor, setGlobalAxis, - -> setLimitPoint, setName. - - -WARNING: void NxSegmentPlaneIntersect(NxVec3 const & v1, NxVec3 const & v2, NxPlane const & plane, NxReal & dist, NxVec3 & pointOnPlane) [free function] - -> execution error W1009: The function takes as argument (name=dist, - -> pos=3) non-const reference to Python immutable type - function could - -> not be called from Python. Take a look on "Function Transformation" - -> functionality and define the transformation. - - -WARNING: NxSoftBodyMesh [class] - -> warning W1031: Py++ will generate class wrapper - user asked to expose - -> non - public member function "NxSoftBodyMesh" - - -WARNING: NxForceFieldShapeDesc [class] - -> warning W1031: Py++ will generate class wrapper - user asked to expose - -> non - public member function "NxForceFieldShapeDesc" - - -WARNING: NxForceFieldShapeDesc::userData [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxForceFieldShapeDesc::name [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxPMap::data [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxShapeDesc [class] - -> warning W1025: Py++ will generate class wrapper - class contains - -> "ccdSkeleton" - T* member variable - - -WARNING: NxShapeDesc [class] - -> warning W1031: Py++ will generate class wrapper - user asked to expose - -> non - public member function "NxShapeDesc" - - -WARNING: NxShapeDesc::userData [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: NxShapeDesc::name [variable] - -> compilation error W1036: Py++ can not expose pointer to Python - -> immutable member variables. This could be changed in future. - - -WARNING: bool NxUserContactModify::onContactConstraint(NxU32 & changeFlags, NxShape const * shape0, NxShape const * shape1, unsigned int const featureIndex0, unsigned int const featureIndex1, NxUserContactModify::NxContactCallbackData & data) [member function] - -> execution error W1009: The function takes as argument - -> (name=changeFlags, pos=... [truncated message content] |