diff --git a/SConstruct b/SConstruct deleted file mode 100644 index 8fccfd938e46750667985a8ab8fb9d007c2a5f28..0000000000000000000000000000000000000000 --- a/SConstruct +++ /dev/null @@ -1,158 +0,0 @@ -import commands -import sys -import os -import time -from distutils import sysconfig -import nifxml - -Help(""" -'scons' to build niflib library and niflib python wrapper -'scons -c' to clean -""") - -##Global Vars, should add cc, cxx, build, etc eventually... -##May want to turn Jobs down, we will try and detect an appropriate JOB rate for linux -JOBS = 1 # default number of jobs, if detection fails -DETECT_JOBS = True # set this to False, if you are setting JOBS -DEBUG = True # turn on debugging info? -CFFLAGS_EXTRA_WARNING = False # extra compiler warnings -SWIG = True # build the swig python wrapper? -TEST = True # build test scripts? - -# Setting up a basic default environment -# Theory is it can be expanded for versatility, like swig doesn't seem to like jobs of 4 - -env = Environment(ENV = os.environ) - -env.Append(SWIGFLAGS = ' -c++ -python -fcompact -fvirtual') - -# linux platform -if sys.platform in ['linux2', 'linux-i386', 'cygwin']: - # set python environment - python_lib = ['python%d.%d' % sys.version_info[0:2]] - python_libpath = [sysconfig.get_python_lib (0, 1) + '/config'] - python_include = [sysconfig.get_python_inc ()] - # set compiler flags - env.Append(CCFLAGS = ' -Wall') - if CFFLAGS_EXTRA_WARNING: - env.Append(CCFLAGS = ' -Wextra') - if sys.platform != 'cygwin': - env.Append(CCFLAGS = ' -fPIC -pipe') - # flags for debugging info - if DEBUG: - env.Append(CCFLAGS = ' -O0 -g3 -ggdb') - # flags for tuning (only if DEBUG is False) - else: - env.Append(CCFLAGS = ' -O3') - # architecture specific tuning - # x86, x86_64, or what? (better way?) - proc = commands.getoutput('uname -m') - if proc == 'x86_64': - arch = 'x86_64' - #elif exp.match(proc): # broken - elif proc in ['x86', 'i386', 'i486', 'i586', 'i686']: - arch = 'x86' - elif proc in ['Power Macintosh', 'ppc']: - arch = 'ppc' - else: - arch = None - # needs to be cleaned up and expanded to include Intel - if arch == 'x86_64': - if commands.getoutput('uname -i') == 'AuthenticAMD': - env.Append(CCFLAGS = ' -mtune=k8') - #elif commands.getoutput('uname -i') == 'GenuineIntel': - # env.Append(CCFLAGS = ' -mtune=nocona') - # detect the number of processors, and set number of jobs accordingly - if DETECT_JOBS: - detected_jobs = int(commands.getoutput('cat /proc/cpuinfo | grep -c "^processor"')) - if detected_jobs >= 2: - JOBS = detected_jobs - -# windows platform -elif sys.platform == 'win32': - python_include = [sysconfig.get_python_inc()] - python_libpath = [sysconfig.get_python_lib(1, 1) + '/../libs'] - python_lib = ['python24'] - env.Append(CCFLAGS = '/EHsc /GS /TP') - if DEBUG: - env.Append(CCFLAGS = ' /Zi') - else: - env.Append(CCFLAGS = ' /O2') - -# other platforms -else: - print "Error: Platform %s not supported."%sys.platform - Exit(1) - -# set number of jobs -env.SetOption('num_jobs', JOBS) - -# detect SWIG -try: - env['SWIG'] -except KeyError: - SWIG = False - print """ -Warning: SWIG not found. The python wrapper will not be built. -Please install SWIG to build the python wrapper.""" - if sys.platform == "win32": print "Also add the SWIG directory to your %PATH%." - print "You can download SWIG from http://www.swig.org/\n" - - - -gen_objfiles = [] -for n in nifxml.compound_names: - x = nifxml.compound_types[n] - if n[:3] != 'ns ' and not x.niflibtype and not x.template: - gen_objfiles.append('src/gen/' + str(n) + '.cpp') - -obj_objfiles = [] -for n in nifxml.block_names: - obj_objfiles.append('src/obj/' + str(n) + '.cpp') - -core_objfiles = Split(""" -src/ComplexShape.cpp -src/niflib.cpp -src/nif_math.cpp -src/NIF_IO.cpp -src/kfm.cpp -src/Type.cpp -src/gen/obj_factories.cpp -src/gen/enums.cpp -src/gen/obj_impl.cpp -""") - -TriStripper_files = Split(""" -TriStripper/connectivity_graph.cpp -TriStripper/policy.cpp -TriStripper/tri_stripper.cpp -""") - -NvTriStrip_files = Split(""" -NvTriStrip/NvTriStrip.cpp -NvTriStrip/NvTriStripObjects.cpp -NvTriStrip/VertexCache.cpp -""") - -nif_converter = Split(""" -blender/blender_niflib.cpp -""") - -# build niflib shared library -# (SCons bug: under windows, SharedLibrary should also build .lib file, but this is broken; so for now just build static one) -if sys.platform == 'win32': - niflib = env.StaticLibrary('niflib', [core_objfiles, gen_objfiles, obj_objfiles, NvTriStrip_files, TriStripper_files] , LIBPATH='.', CPPPATH = '.') -else: - niflib = env.SharedLibrary('niflib', [core_objfiles, gen_objfiles, obj_objfiles, NvTriStrip_files, TriStripper_files] , LIBPATH='.', CPPPATH = '.') - -Export('env nifxml python_lib python_libpath python_include niflib') - -# build python wrapper -if SWIG: - niflib_swig = SConscript('swig/SConscript') - Export('niflib_swig') - -# build the test suite -if TEST: - SConscript('test/SConscript') - diff --git a/py++/build_header.py b/py++/build_header.py deleted file mode 100644 index 44f161c5b6042cfaeb67c04a878a9f6ebdf46976..0000000000000000000000000000000000000000 --- a/py++/build_header.py +++ /dev/null @@ -1,91 +0,0 @@ -###### -## Generate Py++ inclusion header -###### - -import wrapper_config - -# Set the paths to be searched for header files -header_paths = [ - wrapper_config.niflib_path + "/include", - wrapper_config.niflib_path + "/include/gen", - wrapper_config.niflib_path + "/include/obj" -] - -# Set explicit includes -header_include = [ - wrapper_config.niflib_path + "/include/niflib.h", - wrapper_config.niflib_path + "/include/Ref.h", - wrapper_config.niflib_path + "/include/Type.h", - wrapper_config.niflib_path + "/include/nif_math.h", - wrapper_config.niflib_path + "/include/Key.h", - wrapper_config.niflib_path + "/include/nif_basic_types.h" -] - -# Set the regexps for file exclusion -header_exclude = [ - "niflib/include/[a-zA-Z\.\_\-]+\.h" -] - -#### - -import os, re - -def hasExtension(file, ext): - fext = file.rsplit('.', -1)[-1] - return (fext in ext) - -header = [] -pattern = "|".join(header_exclude) -p = re.compile(pattern) - -for path in header_paths: - dir_files = os.listdir(path) - for file in dir_files: - m = p.match(path + '/' + file) - if m: - continue - if hasExtension(file, ['h', 'hpp']): - header_include.append(path +'/' + file) - -for file in header_include: - header.append("#include \"%s\"\n" % file) - -#header.append("using namespace Niflib;\n\n"); -header.append("\n"); -header.append("/* This namespace is not going to be exported */\n") -header.append("namespace NoExport {\n\n") -header.append(" /* Auxiliary function for template export */\n") -header.append(" inline void export_obj_templates() {\n") -header.append(" Niflib::NiObjectRef CastObj;\n\n") - -NiObjects = [] -for obj in os.listdir(wrapper_config.niflib_path + "/include/obj"): - obj_ = obj.split('.', 2)[0] - if hasExtension(obj, 'h') and not obj_ in NiObjects: - NiObjects.append(obj_) - -for obj in NiObjects: - header.append(" /* Object %s */\n" % obj) - #header.append(" typedef Niflib::Ref<Niflib::%s> %sRef;\n" % (obj, obj)) - #header.append(" sizeof(%sRef);\n" % obj) - header.append(" sizeof(Niflib::Ref<Niflib::%s>);\n" % obj) - header.append(" Niflib::DynamicCast<Niflib::%s>(CastObj);\n" % obj) - header.append(" Niflib::StaticCast <Niflib::%s>(CastObj);\n" % obj) - header.append(" \n") - -header.append(" /* Internal Containers */\n") -for int_cont in wrapper_config.internal_containers: - header.append(" sizeof(%s);\n" % int_cont) -header.append("\n") - -header.append(" }\n\n") -header.append("}\n\n") - -headerfile = open("pyNiflib.h","w") -headerfile.writelines(header) -headerfile.close() - -project_files = [ r"pyNiflib.h" ] -for hfile in header_include: - basename = hfile.rsplit(".", 2)[0] - #project_files.append(r"%s.cpp" % basename) diff --git a/py++/build_wrapper.py b/py++/build_wrapper.py deleted file mode 100644 index aa8083599c5e920095cd351badd48828e24c816e..0000000000000000000000000000000000000000 --- a/py++/build_wrapper.py +++ /dev/null @@ -1,102 +0,0 @@ -###### -## Build boost::python wrapper file -###### - -import os, re -from pyplusplus import module_builder -from pygccxml import declarations - -import wrapper_config - -# The Niflib license -niflib_license = \ -"""/* -Copyright (c) 2005, NIF File Format Library and Tools -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - * Neither the name of the NIF File Format Library and Tools - project nor the names of its contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -*/ -""" - -#### - -# Function to get the type name of a template function -def TypeName( decl_string ): - return declarations.templates.args(decl_string)[0].rsplit('::', 2)[-1] - -# Function to rename the Cast<T> functions -def rename_casts( cast ): - cast.rename( cast.name + 'To' + TypeName(cast.decl_string) ) - cast.name = cast.demangled_name - -# Function to rename the Ref<T> functions -def rename_refs( ref ): - ref.rename( TypeName(ref.decl_string) + "Ref" ) - -#### - -# Creating an instance of class that will help you to expose your declarations -mb = module_builder.module_builder_t( [r"pyNiflib.h"], include_paths = [wrapper_config.niflib_path + '/include', wrapper_config.niflib_path + '/include/gen', wrapper_config.niflib_path + '/include/obj'], indexing_suite_version = 2 ) - -# Set the max. number of template arguments -mb.BOOST_PYTHON_MAX_ARITY = 20 - -# Rename the Ref<T> templates -refs = mb.classes ( lambda decl: ( decl.name.startswith('Ref<') ) ) -map( rename_refs, refs ) - -# Rename the DynamicCast<T> and StaticCast<T> templates -casts = mb.free_functions ( lambda decl: ( decl.name == 'DynamicCast' or decl.name == 'StaticCast' ) ) -map( rename_casts, casts ) - -# Get all operators -mb.member_operators().exclude() - -# Optimize the queries -mb.run_query_optimizer() - -# Exclude everything -mb.global_ns.exclude() - -# Include the main Niflib namespace -mb.namespace('Niflib').include() - -# Create code creator. After this step you should not modify/customize declarations. -mb.build_code_creator( module_name='pyNiflib' ) - -# Set the Niflib license for the output -mb.code_creator.license = niflib_license - -# Well, don't you want to see what is going on? -mb.print_declarations(mb.namespace('Niflib')) - -# Writing code to file. -mb.write_module( './pyNiflib.cpp' ) diff --git a/py++/wrapper_config.py b/py++/wrapper_config.py deleted file mode 100644 index 9e1b758a0d86f3d677aac41af783e8808cf2823e..0000000000000000000000000000000000000000 --- a/py++/wrapper_config.py +++ /dev/null @@ -1,13 +0,0 @@ -###### -## Configure pyNiflib -###### - -# The path to the Niflib folder -niflib_path = ".." - -# Internal containers - those are not typedef'd -internal_containers = \ -[ - "std::map<Niflib::Ref<Niflib::NiObject>,unsigned int,std::less<Niflib::Ref<Niflib::NiObject> >,std::allocator<std::pair<const Niflib::Ref<Niflib::NiObject>, unsigned int> > >", - "std::list<unsigned int,std::allocator<unsigned int> >" -] diff --git a/swig/SConscript b/swig/SConscript deleted file mode 100644 index 4d604be0bc505f4b9fa739ac64d436c4ed582f24..0000000000000000000000000000000000000000 --- a/swig/SConscript +++ /dev/null @@ -1,6 +0,0 @@ -Import('*') - -niflib_python = env.SharedLibrary('_niflib', 'niflib.i', LIBS=[niflib] + python_lib, LIBPATH = python_libpath, CPPPATH = ['.'] + python_include, SHLIBPREFIX='') -ninode_python = env.SharedLibrary('_ninode', 'ninode.i', LIBS=[niflib] + python_lib, LIBPATH = python_libpath, CPPPATH = ['.'] + python_include, SHLIBPREFIX='') - -Return('niflib_python ninode_python') diff --git a/swig/common.i b/swig/common.i deleted file mode 100644 index 22f384aaa38ae2782f28d09c5f943dbe267ed535..0000000000000000000000000000000000000000 --- a/swig/common.i +++ /dev/null @@ -1,370 +0,0 @@ -// Swig module description file for a C dynamic library source file -// This header contains all the nifty details. - -/* Copyright (c) 2006, NIF File Format Library and Tools -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - * Neither the name of the NIF File Format Library and Tools - project nor the names of its contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. */ - -%include "stl.i" -%include "std_map.i" -%include "exception.i" -%include "std_list.i" -%include "typemaps.i" - -// enable string assignment in structure member functions -%typemap(in) std::string* ($*1_ltype tempstr) { - char * temps; int templ; - if (PyString_AsStringAndSize($input, &temps, &templ)) return NULL; - tempstr = $*1_ltype(temps, templ); - $1 = &tempstr; -} -%typemap(out) std::string* "$result = PyString_FromStringAndSize($1->data(), $1->length());"; - -// we need a version of SWIG that has SWIG_CATCH_STDEXCEPT support -#if SWIG_VERSION >= 0x010322 -%exception { - try { - $action - } - SWIG_CATCH_STDEXCEPT // catch std::exception - catch (...) { - SWIG_exception(SWIG_UnknownError, "Unknown exception"); - } -} -#endif - -// print -%rename(__str__) asString; - -// smart pointers via "()." -%rename(__call__) Ptr; - -//Ignore the const versions of these functions -%ignore Niflib::DynamicCast( const Niflib::NiObject * object ); -%ignore Niflib::StaticCast ( const Niflib::NiObject * object ); - -//Do not use smart pointer support as it doubles the size of the library -//and makes it take twice as long to be imported. -%ignore Niflib::Ref::operator->; -%ignore Niflib::Ref::operator=; - -// At the moment, let us ignore some common functions that are -// not essential for NIF manipulating scripts. -// This will reduce the size of the wrapper file. - -%ignore FixLinks; -%ignore Read; -%ignore Write; -%ignore operator=; -%ignore operator[]; -%ignore TypeConst; -%ignore GetIDString; -%ignore IsSameType; -%ignore IsDerivedType; -%ignore NumObjectsInMemory; - -// ignore things swig complains about -// (TODO) - -// Import the symbols from these but do not include them in the wrapper -%import "../include/gen/obj_defines.h" -%import "../include/NIF_IO.h" -%import "../include/dll_export.h" -%import "../include/Type.h" - -%{ -// main header file -#include "../include/niflib.h" - -// SWIG is very picky about namespaces. Using namespace Niflib throughout -// ensures that SWIG wraps all types in the right way. -using namespace Niflib; - -// auxilary header files -#include "../include/Ref.h" -#include "../include/Type.h" -#include "../include/nif_math.h" -#include "../include/gen/obj_defines.h" -#include "../include/obj/NiObject.h" -#include "../include/obj/AKeyedData.h" -#include "../include/obj/AParticleModifier.h" -#include "../include/obj/bhkRefObject.h" -#include "../include/obj/bhkSerializable.h" -#include "../include/obj/AbhkConstraint.h" -#include "../include/obj/AbhkRagdollConstraint.h" -#include "../include/obj/bhkShape.h" -#include "../include/obj/AbhkShapeCollection.h" -#include "../include/obj/bhkSphereRepShape.h" -#include "../include/obj/bhkConvexShape.h" -#include "../include/obj/bhkWorldObject.h" -#include "../include/obj/bhkEntity.h" -#include "../include/obj/NiCollisionObject.h" -#include "../include/obj/NiExtraData.h" -#include "../include/obj/NiInterpolator.h" -#include "../include/obj/NiBlendInterpolator.h" -#include "../include/obj/NiBSplineInterpolator.h" -#include "../include/obj/NiObjectNET.h" -#include "../include/obj/NiAVObject.h" -#include "../include/obj/NiDynamicEffect.h" -#include "../include/obj/NiLight.h" -#include "../include/obj/NiProperty.h" -#include "../include/obj/NiPSysModifier.h" -#include "../include/obj/NiPSysEmitter.h" -#include "../include/obj/NiPSysVolumeEmitter.h" -#include "../include/obj/NiTimeController.h" -#include "../include/obj/ABoneLODController.h" -#include "../include/obj/NiSingleInterpolatorController.h" -#include "../include/obj/APSysCtlr.h" -#include "../include/obj/NiGeometry.h" -#include "../include/obj/NiTriBasedGeom.h" -#include "../include/obj/NiGeometryData.h" -#include "../include/obj/NiTriBasedGeomData.h" -#include "../include/obj/APSysData.h" -#include "../include/obj/bhkBlendCollisionObject.h" -#include "../include/obj/bhkBlendController.h" -#include "../include/obj/bhkBoxShape.h" -#include "../include/obj/bhkCapsuleShape.h" -#include "../include/obj/bhkCollisionObject.h" -#include "../include/obj/bhkConvexVerticesShape.h" -#include "../include/obj/bhkHingeConstraint.h" -#include "../include/obj/bhkLimitedHingeConstraint.h" -#include "../include/obj/bhkListShape.h" -#include "../include/obj/bhkMalleableConstraint.h" -#include "../include/obj/bhkMoppBvTreeShape.h" -#include "../include/obj/bhkMultiSphereShape.h" -#include "../include/obj/bhkNiTriStripsShape.h" -#include "../include/obj/bhkPackedNiTriStripsShape.h" -#include "../include/obj/bhkPrismaticConstraint.h" -#include "../include/obj/bhkRagdollConstraint.h" -#include "../include/obj/bhkRigidBody.h" -#include "../include/obj/bhkRigidBodyT.h" -#include "../include/obj/bhkSimpleShapePhantom.h" -#include "../include/obj/bhkSPCollisionObject.h" -#include "../include/obj/bhkSphereShape.h" -#include "../include/obj/bhkStiffSpringConstraint.h" -#include "../include/obj/bhkTransformShape.h" -#include "../include/obj/bhkConvexTransformShape.h" -#include "../include/obj/BSBound.h" -#include "../include/obj/BSFurnitureMarker.h" -#include "../include/obj/BSParentVelocityModifier.h" -#include "../include/obj/BSPSysArrayEmitter.h" -#include "../include/obj/BSXFlags.h" -#include "../include/obj/hkPackedNiTriStripsData.h" -#include "../include/obj/NiAlphaController.h" -#include "../include/obj/NiAlphaProperty.h" -#include "../include/obj/NiAmbientLight.h" -#include "../include/obj/NiAutoNormalParticlesData.h" -#include "../include/obj/NiBinaryExtraData.h" -#include "../include/obj/NiBlendBoolInterpolator.h" -#include "../include/obj/NiBlendFloatInterpolator.h" -#include "../include/obj/NiBlendPoint3Interpolator.h" -#include "../include/obj/NiBlendTransformInterpolator.h" -#include "../include/obj/NiBoneLODController.h" -#include "../include/obj/NiBoolData.h" -#include "../include/obj/NiBooleanExtraData.h" -#include "../include/obj/NiBoolInterpolator.h" -#include "../include/obj/NiBoolTimelineInterpolator.h" -#include "../include/obj/NiBSBoneLODController.h" -#include "../include/obj/NiBSplineBasisData.h" -#include "../include/obj/NiBSplineCompFloatInterpolator.h" -#include "../include/obj/NiBSplineCompPoint3Interpolator.h" -#include "../include/obj/NiBSplineCompTransformInterpolator.h" -#include "../include/obj/NiBSplineData.h" -#include "../include/obj/NiCamera.h" -#include "../include/obj/NiCollisionData.h" -#include "../include/obj/NiColorData.h" -#include "../include/obj/NiColorExtraData.h" -#include "../include/obj/NiControllerManager.h" -#include "../include/obj/NiControllerSequence.h" -#include "../include/obj/NiDefaultAVObjectPalette.h" -#include "../include/obj/NiDirectionalLight.h" -#include "../include/obj/NiDitherProperty.h" -#include "../include/obj/NiFlipController.h" -#include "../include/obj/NiFloatData.h" -#include "../include/obj/NiFloatExtraData.h" -#include "../include/obj/NiFloatExtraDataController.h" -#include "../include/obj/NiFloatInterpolator.h" -#include "../include/obj/NiFloatsExtraData.h" -#include "../include/obj/NiFogProperty.h" -#include "../include/obj/NiGeomMorpherController.h" -#include "../include/obj/NiGravity.h" -#include "../include/obj/NiIntegerExtraData.h" -#include "../include/obj/NiIntegersExtraData.h" -#include "../include/obj/NiKeyframeController.h" -#include "../include/obj/BSKeyframeController.h" -#include "../include/obj/NiKeyframeData.h" -#include "../include/obj/NiLightColorController.h" -#include "../include/obj/NiLightDimmerController.h" -#include "../include/obj/NiLookAtController.h" -#include "../include/obj/NiLookAtInterpolator.h" -#include "../include/obj/NiMaterialColorController.h" -#include "../include/obj/NiMaterialProperty.h" -#include "../include/obj/NiMeshPSysData.h" -#include "../include/obj/NiMorphData.h" -#include "../include/obj/NiMultiTargetTransformController.h" -#include "../include/obj/NiNode.h" -#include "../include/obj/AvoidNode.h" -#include "../include/obj/FxWidget.h" -#include "../include/obj/FxButton.h" -#include "../include/obj/FxRadioButton.h" -#include "../include/obj/NiBillboardNode.h" -#include "../include/obj/NiBSAnimationNode.h" -#include "../include/obj/NiBSParticleNode.h" -#include "../include/obj/NiLODNode.h" -#include "../include/obj/NiPalette.h" -#include "../include/obj/NiParticleBomb.h" -#include "../include/obj/NiParticleColorModifier.h" -#include "../include/obj/NiParticleGrowFade.h" -#include "../include/obj/NiParticleMeshModifier.h" -#include "../include/obj/NiParticleRotation.h" -#include "../include/obj/NiParticles.h" -#include "../include/obj/NiAutoNormalParticles.h" -#include "../include/obj/NiParticleMeshes.h" -#include "../include/obj/NiParticlesData.h" -#include "../include/obj/NiParticleMeshesData.h" -#include "../include/obj/NiParticleSystem.h" -#include "../include/obj/NiMeshParticleSystem.h" -#include "../include/obj/NiParticleSystemController.h" -#include "../include/obj/NiBSPArrayController.h" -#include "../include/obj/NiPathController.h" -#include "../include/obj/NiPathInterpolator.h" -#include "../include/obj/NiPixelData.h" -#include "../include/obj/NiPlanarCollider.h" -#include "../include/obj/NiPoint3Interpolator.h" -#include "../include/obj/NiPointLight.h" -#include "../include/obj/NiPosData.h" -#include "../include/obj/NiPSysAgeDeathModifier.h" -#include "../include/obj/NiPSysBombModifier.h" -#include "../include/obj/NiPSysBoundUpdateModifier.h" -#include "../include/obj/NiPSysBoxEmitter.h" -#include "../include/obj/NiPSysColliderManager.h" -#include "../include/obj/NiPSysColorModifier.h" -#include "../include/obj/NiPSysCylinderEmitter.h" -#include "../include/obj/NiPSysData.h" -#include "../include/obj/NiPSysDragModifier.h" -#include "../include/obj/NiPSysEmitterCtlr.h" -#include "../include/obj/NiPSysEmitterCtlrData.h" -#include "../include/obj/NiPSysEmitterDeclinationCtlr.h" -#include "../include/obj/NiPSysEmitterDeclinationVarCtlr.h" -#include "../include/obj/NiPSysEmitterInitialRadiusCtlr.h" -#include "../include/obj/NiPSysEmitterLifeSpanCtlr.h" -#include "../include/obj/NiPSysEmitterSpeedCtlr.h" -#include "../include/obj/NiPSysGravityModifier.h" -#include "../include/obj/NiPSysGravityStrengthCtlr.h" -#include "../include/obj/NiPSysGrowFadeModifier.h" -#include "../include/obj/NiPSysMeshEmitter.h" -#include "../include/obj/NiPSysMeshUpdateModifier.h" -#include "../include/obj/NiPSysModifierActiveCtlr.h" -#include "../include/obj/NiPSysPlanarCollider.h" -#include "../include/obj/NiPSysPositionModifier.h" -#include "../include/obj/NiPSysResetOnLoopCtlr.h" -#include "../include/obj/NiPSysRotationModifier.h" -#include "../include/obj/NiPSysSpawnModifier.h" -#include "../include/obj/NiPSysSphereEmitter.h" -#include "../include/obj/NiPSysUpdateCtlr.h" -#include "../include/obj/NiLODData.h" -#include "../include/obj/NiRangeLODData.h" -#include "../include/obj/NiScreenLODData.h" -#include "../include/obj/NiRotatingParticles.h" -#include "../include/obj/NiRotatingParticlesData.h" -#include "../include/obj/NiSequenceStreamHelper.h" -#include "../include/obj/NiShadeProperty.h" -#include "../include/obj/NiSkinData.h" -#include "../include/obj/NiSkinInstance.h" -#include "../include/obj/NiClodSkinInstance.h" -#include "../include/obj/NiSkinPartition.h" -#include "../include/obj/NiSourceTexture.h" -#include "../include/obj/NiSpecularProperty.h" -#include "../include/obj/NiSphericalCollider.h" -#include "../include/obj/NiSpotLight.h" -#include "../include/obj/NiStencilProperty.h" -#include "../include/obj/NiStringExtraData.h" -#include "../include/obj/NiStringPalette.h" -#include "../include/obj/NiStringsExtraData.h" -#include "../include/obj/NiTextKeyExtraData.h" -#include "../include/obj/NiTextureEffect.h" -#include "../include/obj/NiTextureTransformController.h" -#include "../include/obj/NiTextureModeProperty.h" -#include "../include/obj/NiImage.h" -#include "../include/obj/NiTextureProperty.h" -#include "../include/obj/NiTexturingProperty.h" -#include "../include/obj/NiTransformController.h" -#include "../include/obj/NiTransformData.h" -#include "../include/obj/NiTransformInterpolator.h" -#include "../include/obj/NiTriShape.h" -#include "../include/obj/NiTriShapeData.h" -#include "../include/obj/NiTriStrips.h" -#include "../include/obj/NiTriStripsData.h" -#include "../include/obj/NiClod.h" -#include "../include/obj/NiClodData.h" -#include "../include/obj/NiUVController.h" -#include "../include/obj/NiUVData.h" -#include "../include/obj/NiVectorExtraData.h" -#include "../include/obj/NiVertexColorProperty.h" -#include "../include/obj/NiVertWeightsExtraData.h" -#include "../include/obj/NiVisController.h" -#include "../include/obj/NiVisData.h" -#include "../include/obj/NiWireframeProperty.h" -#include "../include/obj/NiZBufferProperty.h" -#include "../include/obj/RootCollisionNode.h" -#include "../include/gen/ByteArray.h" -#include "../include/gen/Footer.h" -#include "../include/gen/LODRange.h" -#include "../include/gen/MatchGroup.h" -#include "../include/gen/MipMap.h" -#include "../include/gen/NodeGroup.h" -#include "../include/gen/QuaternionXYZW.h" -#include "../include/gen/SkinShape.h" -#include "../include/gen/SkinShapeGroup.h" -#include "../include/gen/SkinWeight.h" -#include "../include/gen/AVObject.h" -#include "../include/gen/ControllerLink.h" -#include "../include/gen/Header.h" -#include "../include/gen/StringPalette.h" -#include "../include/gen/TBC.h" -#include "../include/gen/KeyGroup.h" -#include "../include/gen/RotationKeyArray.h" -#include "../include/gen/TexDesc.h" -#include "../include/gen/ShaderTexDesc.h" -#include "../include/gen/TexSource.h" -#include "../include/gen/SkinPartition.h" -#include "../include/gen/BoundingBox.h" -#include "../include/gen/FurniturePosition.h" -#include "../include/gen/hkTriangle.h" -#include "../include/gen/Morph.h" -#include "../include/gen/Particle.h" -#include "../include/gen/SkinData.h" -#include "../include/gen/Sphere.h" -#include "../include/gen/RagDollDescriptor.h" -#include "../include/gen/LimitedHingeDescriptor.h" -%} - diff --git a/swig/niflib.i b/swig/niflib.i deleted file mode 100644 index dfe74fdb5ffdedaade3989c406ac05afabfcd527..0000000000000000000000000000000000000000 --- a/swig/niflib.i +++ /dev/null @@ -1,133 +0,0 @@ -// Swig module description file for a C dynamic library source file -// Generate with: swig -c++ -python -o py_wrap.cpp niflib.i - -/* Copyright (c) 2006, NIF File Format Library and Tools -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - * Neither the name of the NIF File Format Library and Tools - project nor the names of its contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. */ - -%module niflib - -// a few common things are defined in a seperate file -// to avoid cluttering up the main interface file - -%include "common.i" - -// expose headers (templates first) - -%include "../include/Key.h" -%include "../include/Ref.h" -%include "../include/niflib.h" -%include "../include/nif_versions.h" -%include "../include/nif_math.h" - -// data structures - -%include "../include/gen/ByteArray.h" -%include "../include/gen/Footer.h" -%include "../include/gen/LODRange.h" -%include "../include/gen/MatchGroup.h" -%include "../include/gen/MipMap.h" -%include "../include/gen/NodeGroup.h" -%include "../include/gen/QuaternionXYZW.h" -%include "../include/gen/SkinShape.h" -%include "../include/gen/SkinShapeGroup.h" -%include "../include/gen/SkinWeight.h" -%include "../include/gen/AVObject.h" -%include "../include/gen/ControllerLink.h" -%include "../include/gen/Header.h" -%include "../include/gen/StringPalette.h" -%include "../include/gen/TBC.h" -%include "../include/gen/KeyGroup.h" -%include "../include/gen/RotationKeyArray.h" -%include "../include/gen/TexDesc.h" -%include "../include/gen/ShaderTexDesc.h" -%include "../include/gen/TexSource.h" -%include "../include/gen/SkinPartition.h" -%include "../include/gen/BoundingBox.h" -%include "../include/gen/FurniturePosition.h" -%include "../include/gen/hkTriangle.h" -%include "../include/gen/Morph.h" -%include "../include/gen/Particle.h" -%include "../include/gen/SkinData.h" -%include "../include/gen/Sphere.h" -%include "../include/gen/RagDollDescriptor.h" -%include "../include/gen/LimitedHingeDescriptor.h" - -// essential file blocks - -%include "../include/obj/NiObject.h" -%include "../include/obj/NiObjectNET.h" -%include "../include/obj/NiAVObject.h" -%include "../include/obj/NiNode.h" -%include "../include/obj/NiControllerSequence.h" - -// essential templates - -%template(NiObjectRef) Niflib::Ref<Niflib::NiObject>; -%template(NiObjectNETRef) Niflib::Ref<Niflib::NiObjectNET>; -%template(NiAVObjectRef) Niflib::Ref<Niflib::NiAVObject>; -%template(NiNodeRef) Niflib::Ref<Niflib::NiNode>; -%template(vector_NiObjectRef) std::vector<Niflib::NiObjectRef>; // for ReadNifList -/* -%template(vector_byte) std::vector<Niflib::byte>; -%template(vector_ushort) std::vector<unsigned short>; -%template(vector_SkinShape) std::vector<Niflib::SkinShape>; -%template(vector_LineString) std::vector<Niflib::LineString>; -%template(vector_string) std::vector<std::string>; -%template(vector_Triangle) std::vector<Niflib::Triangle>; -%template(vector_Vector3) std::vector<Niflib::Vector3>; -%template(vector_SkinWeight) std::vector<Niflib::SkinWeight>; -%template(vector_uint) std::vector<unsigned int>; -%template(vector_NodeGroup) std::vector<Niflib::NodeGroup>; -%template(vector_Color4) std::vector<Niflib::Color4>; -%template(vector_float) std::vector<float>; -%template(vector_Float4) std::vector<Niflib::Float4>; -%template(vector_Sphere) std::vector<Niflib::Sphere>; -%template(vector_FurniturePosition) std::vector<Niflib::FurniturePosition>; -%template(vector_hkTriangle) std::vector<Niflib::hkTriangle>; -%template(vector_SkinShapeGroup) std::vector<Niflib::SkinShapeGroup>; -%template(vector_short) std::vector<short>; -%template(vector_ControllerLink) std::vector<Niflib::ControllerLink>; -%template(vector_AVObject) std::vector<Niflib::AVObject>; -%template(vector_Morph) std::vector<Niflib::Morph>; -%template(vector_LODRange) std::vector<Niflib::LODRange>; -%template(vector_Quaternion) std::vector<Niflib::Quaternion>; -%template(vector_Particle) std::vector<Niflib::Particle>; -%template(vector_MipMap) std::vector<Niflib::MipMap>; -%template(vector_SkinData) std::vector<Niflib::SkinData>; -%template(vector_SkinPartition) std::vector<Niflib::SkinPartition>; -%template(vector_ShaderTexDesc) std::vector<Niflib::ShaderTexDesc>; -%template(vector_MatchGroup) std::vector<Niflib::MatchGroup>; -%template(pair_int_float) std::pair<int, float>; -%template(map_int_float) std::map<int, float>; -*/ - diff --git a/swig/ninode.i b/swig/ninode.i deleted file mode 100644 index 2fa40236be138f9be0424565ae5a25bae550786a..0000000000000000000000000000000000000000 --- a/swig/ninode.i +++ /dev/null @@ -1,58 +0,0 @@ -/* Copyright (c) 2006, NIF File Format Library and Tools -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - * Neither the name of the NIF File Format Library and Tools - project nor the names of its contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. */ - -%module(package="niflib") ninode -%include "common.i" -%import "niflib.i" - -/*** already defined in niflib.i -%import "../include/obj/NiObject.h" -%import "../include/obj/NiObjectNET.h" -%import "../include/obj/NiAVObject.h" -%include "../include/obj/NiNode.h" -%template(NiNodeRef) Niflib::Ref<Niflib::NiNode>; -***/ - -// create a new NiNode block -%{ -Niflib::NiNodeRef CreateNiNode() { - return Niflib::NiNodeRef(new Niflib::NiNode); -} -%} -// now wrap it -Niflib::NiNodeRef CreateNiNode(); - -// template functions to cast a NiObjectRef to a NiNodeRef -%template(DynamicCastToNiNode) Niflib::DynamicCast<Niflib::NiNode>; -%template(StaticCastToNiNode) Niflib::StaticCast<Niflib::NiNode>; - diff --git a/swig/pyniflib.i_old b/swig/pyniflib.i_old deleted file mode 100644 index c9b7b2f9ac7ded2e923929417325370ef574c85f..0000000000000000000000000000000000000000 --- a/swig/pyniflib.i_old +++ /dev/null @@ -1,729 +0,0 @@ -// Swig module description file for a C dynamic library source file -// Generate with: swig -c++ -python -o py_wrap.cpp pyniflib.i - -/* Copyright (c) 2006, NIF File Format Library and Tools -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - * Neither the name of the NIF File Format Library and Tools - project nor the names of its contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. */ - -%module niflib -%include "stl.i" -%include "std_map.i" -%include "exception.i" -%include "std_list.i" -%include "typemaps.i" - -// enable string assignment in structure member functions -%typemap(in) std::string* ($*1_ltype tempstr) { - char * temps; int templ; - if (PyString_AsStringAndSize($input, &temps, &templ)) return NULL; - tempstr = $*1_ltype(temps, templ); - $1 = &tempstr; -} -%typemap(out) std::string* "$result = PyString_FromStringAndSize($1->data(), $1->length());"; - -// we need a version of SWIG that has SWIG_CATCH_STDEXCEPT support -#if SWIG_VERSION >= 0x010322 -%exception { - try { - $action - } - SWIG_CATCH_STDEXCEPT // catch std::exception - catch (...) { - SWIG_exception(SWIG_UnknownError, "Unknown exception"); - } -} -#endif - -//Ignore the const versions of these functions -%ignore DynamicCast( const NiObject * object ); -%ignore StaticCast ( const NiObject * object ); - -//Do not use smart pointer support as it doubles the size of the library -//and makes it take twice as long to be imported -//%ignore Niflib::Ref::operator->; -//%ignore Niflib::Ref::operator=; - -// At the moment, let us ignore some common functions that not really -// essential for NIF exporting and importing scripts. -// This will reduce the size of the wrapper file. - -// various function ignores (might be put pack in final version) -%ignore asString; -%ignore FixLinks; -%ignore Read; -%ignore Write; -%ignore operator=; -%ignore operator[]; -%ignore TypeConst; -%ignore GetIDString; -%ignore IsSameType; -%ignore IsDerivedType; -%ignore NumObjectsInMemory; - -/* - -// vector ignores (will be unignored again once wrapper is functional) -%ignore iterator; -%ignore pop; -%ignore append; -%ignore empty; -%ignore size; -%ignore clear; -%ignore swap; -%ignore get_allocator; -%ignore begin; -%ignore end; -%ignore rbegin; -%ignore rend; -%ignore pop_back; -%ignore erase; -%ignore push_back; -%ignore front; -%ignore back; -%ignore assign; -%ignore resize; -%ignore insert; -%ignore reserve; -%ignore capacity; - -*/ - -// ignores objects python does not need to know of anyway -//%ignore Ptr; - -/* - -// ignore all base objects: we only need access via the Ref objects -%ignore NiObject; -%ignore AKeyedData; -%ignore AParticleModifier; -%ignore bhkRefObject; -%ignore bhkSerializable; -%ignore AbhkConstraint; -%ignore AbhkRagdollConstraint; -%ignore bhkShape; -%ignore AbhkShapeCollection; -%ignore bhkSphereRepShape; -%ignore bhkConvexShape; -%ignore bhkWorldObject; -%ignore bhkEntity; -%ignore NiCollisionObject; -%ignore NiExtraData; -%ignore NiInterpolator; -%ignore NiBlendInterpolator; -%ignore NiBSplineInterpolator; -%ignore NiObjectNET; -%ignore NiAVObject; -%ignore NiDynamicEffect; -%ignore NiLight; -%ignore NiProperty; -%ignore NiPSysModifier; -%ignore NiPSysEmitter; -%ignore NiPSysVolumeEmitter; -%ignore NiTimeController; -%ignore ABoneLODController; -%ignore NiSingleInterpolatorController; -%ignore APSysCtlr; -%ignore NiGeometry; -%ignore NiTriBasedGeom; -%ignore NiGeometryData; -%ignore NiTriBasedGeomData; -%ignore APSysData; -%ignore bhkBlendCollisionObject; -%ignore bhkBlendController; -%ignore bhkBoxShape; -%ignore bhkCapsuleShape; -%ignore bhkCollisionObject; -%ignore bhkConvexVerticesShape; -%ignore bhkHingeConstraint; -%ignore bhkLimitedHingeConstraint; -%ignore bhkListShape; -%ignore bhkMalleableConstraint; -%ignore bhkMoppBvTreeShape; -%ignore bhkMultiSphereShape; -%ignore bhkNiTriStripsShape; -%ignore bhkPackedNiTriStripsShape; -%ignore bhkPrismaticConstraint; -%ignore bhkRagdollConstraint; -%ignore bhkRigidBody; -%ignore bhkRigidBodyT; -%ignore bhkSimpleShapePhantom; -%ignore bhkSPCollisionObject; -%ignore bhkSphereShape; -%ignore bhkStiffSpringConstraint; -%ignore bhkTransformShape; -%ignore bhkConvexTransformShape; -%ignore BSBound; -%ignore BSFurnitureMarker; -%ignore BSParentVelocityModifier; -%ignore BSPSysArrayEmitter; -%ignore BSXFlags; -%ignore hkPackedNiTriStripsData; -%ignore NiAlphaController; -%ignore NiAlphaProperty; -%ignore NiAmbientLight; -%ignore NiAutoNormalParticlesData; -%ignore NiBinaryExtraData; -%ignore NiBlendBoolInterpolator; -%ignore NiBlendFloatInterpolator; -%ignore NiBlendPoint3Interpolator; -%ignore NiBlendTransformInterpolator; -%ignore NiBoneLODController; -%ignore NiBoolData; -%ignore NiBooleanExtraData; -%ignore NiBoolInterpolator; -%ignore NiBoolTimelineInterpolator; -%ignore NiBSBoneLODController; -%ignore NiBSplineBasisData; -%ignore NiBSplineCompFloatInterpolator; -%ignore NiBSplineCompPoint3Interpolator; -%ignore NiBSplineCompTransformInterpolator; -%ignore NiBSplineData; -%ignore NiCamera; -%ignore NiCollisionData; -%ignore NiColorData; -%ignore NiColorExtraData; -%ignore NiControllerManager; -%ignore NiControllerSequence; -%ignore NiDefaultAVObjectPalette; -%ignore NiDirectionalLight; -%ignore NiDitherProperty; -%ignore NiFlipController; -%ignore NiFloatData; -%ignore NiFloatExtraData; -%ignore NiFloatExtraDataController; -%ignore NiFloatInterpolator; -%ignore NiFloatsExtraData; -%ignore NiFogProperty; -%ignore NiGeomMorpherController; -%ignore NiGravity; -%ignore NiIntegerExtraData; -%ignore NiIntegersExtraData; -%ignore NiKeyframeController; -%ignore BSKeyframeController; -%ignore NiKeyframeData; -%ignore NiLightColorController; -%ignore NiLightDimmerController; -%ignore NiLookAtController; -%ignore NiLookAtInterpolator; -%ignore NiMaterialColorController; -%ignore NiMaterialProperty; -%ignore NiMeshPSysData; -%ignore NiMorphData; -%ignore NiMultiTargetTransformController; -%ignore NiNode; -%ignore AvoidNode; -%ignore FxWidget; -%ignore FxButton; -%ignore FxRadioButton; -%ignore NiBillboardNode; -%ignore NiBSAnimationNode; -%ignore NiBSParticleNode; -%ignore NiLODNode; -%ignore NiPalette; -%ignore NiParticleBomb; -%ignore NiParticleColorModifier; -%ignore NiParticleGrowFade; -%ignore NiParticleMeshModifier; -%ignore NiParticleRotation; -%ignore NiParticles; -%ignore NiAutoNormalParticles; -%ignore NiParticleMeshes; -%ignore NiParticlesData; -%ignore NiParticleMeshesData; -%ignore NiParticleSystem; -%ignore NiMeshParticleSystem; -%ignore NiParticleSystemController; -%ignore NiBSPArrayController; -%ignore NiPathController; -%ignore NiPathInterpolator; -%ignore NiPixelData; -%ignore NiPlanarCollider; -%ignore NiPoint3Interpolator; -%ignore NiPointLight; -%ignore NiPosData; -%ignore NiPSysAgeDeathModifier; -%ignore NiPSysBombModifier; -%ignore NiPSysBoundUpdateModifier; -%ignore NiPSysBoxEmitter; -%ignore NiPSysColliderManager; -%ignore NiPSysColorModifier; -%ignore NiPSysCylinderEmitter; -%ignore NiPSysData; -%ignore NiPSysDragModifier; -%ignore NiPSysEmitterCtlr; -%ignore NiPSysEmitterCtlrData; -%ignore NiPSysEmitterDeclinationCtlr; -%ignore NiPSysEmitterDeclinationVarCtlr; -%ignore NiPSysEmitterInitialRadiusCtlr; -%ignore NiPSysEmitterLifeSpanCtlr; -%ignore NiPSysEmitterSpeedCtlr; -%ignore NiPSysGravityModifier; -%ignore NiPSysGravityStrengthCtlr; -%ignore NiPSysGrowFadeModifier; -%ignore NiPSysMeshEmitter; -%ignore NiPSysMeshUpdateModifier; -%ignore NiPSysModifierActiveCtlr; -%ignore NiPSysPlanarCollider; -%ignore NiPSysPositionModifier; -%ignore NiPSysResetOnLoopCtlr; -%ignore NiPSysRotationModifier; -%ignore NiPSysSpawnModifier; -%ignore NiPSysSphereEmitter; -%ignore NiPSysUpdateCtlr; -%ignore NiLODData; -%ignore NiRangeLODData; -%ignore NiScreenLODData; -%ignore NiRotatingParticles; -%ignore NiRotatingParticlesData; -%ignore NiSequenceStreamHelper; -%ignore NiShadeProperty; -%ignore NiSkinData; -%ignore NiSkinInstance; -%ignore NiClodSkinInstance; -%ignore NiSkinPartition; -%ignore NiSourceTexture; -%ignore NiSpecularProperty; -%ignore NiSphericalCollider; -%ignore NiSpotLight; -%ignore NiStencilProperty; -%ignore NiStringExtraData; -%ignore NiStringPalette; -%ignore NiStringsExtraData; -%ignore NiTextKeyExtraData; -%ignore NiTextureEffect; -%ignore NiTextureTransformController; -%ignore NiTextureModeProperty; -%ignore NiImage; -%ignore NiTextureProperty; -%ignore NiTexturingProperty; -%ignore NiTransformController; -%ignore NiTransformData; -%ignore NiTransformInterpolator; -%ignore NiTriShape; -%ignore NiTriShapeData; -%ignore NiTriStrips; -%ignore NiTriStripsData; -%ignore NiClod; -%ignore NiClodData; -%ignore NiUVController; -%ignore NiUVData; -%ignore NiVectorExtraData; -%ignore NiVertexColorProperty; -%ignore NiVertWeightsExtraData; -%ignore NiVisController; -%ignore NiVisData; -%ignore NiWireframeProperty; -%ignore NiZBufferProperty; -%ignore RootCollisionNode; - -*/ - -// Import the symbols from these but do not include them in the wrapper -%import "../include/gen/obj_defines.h" -%import "../include/NIF_IO.h" -%import "../include/dll_export.h" - -// Headers exposed to the Python interface - -// NOTE: It is mandatory that Ref.h is included before niflib.h, and actually, -// before any header that uses Ref types. -// Otherwise, swig will not recognize Ref<> to be part of the Niflib namespace -// and consequently all functions in niflib.h returning Ref<> types will not -// return correctly wrapped python types. -// Briefly, it is safest to include Ref.h first. -%include "../include/Ref.h" -%include "../include/niflib.h" -%include "../include/Type.h" -%include "../include/nif_math.h" - -// Includes for SWIG wrapper file - -%{ -#include "../include/niflib.h" -%} - -// SWIG is very picky about namespaces. Using namespace Niflib throughout -// ensures that SWIG wraps all types in the right way. -%{ -using namespace Niflib; -%} - -%{ -#include "../include/Ref.h" -#include "../include/Type.h" -#include "../include/nif_math.h" -#include "../include/obj/NiObject.h" -#include "../include/obj/AKeyedData.h" -#include "../include/obj/AParticleModifier.h" -#include "../include/obj/bhkRefObject.h" -#include "../include/obj/bhkSerializable.h" -#include "../include/obj/AbhkConstraint.h" -#include "../include/obj/AbhkRagdollConstraint.h" -#include "../include/obj/bhkShape.h" -#include "../include/obj/AbhkShapeCollection.h" -#include "../include/obj/bhkSphereRepShape.h" -#include "../include/obj/bhkConvexShape.h" -#include "../include/obj/bhkWorldObject.h" -#include "../include/obj/bhkEntity.h" -#include "../include/obj/NiCollisionObject.h" -#include "../include/obj/NiExtraData.h" -#include "../include/obj/NiInterpolator.h" -#include "../include/obj/NiBlendInterpolator.h" -#include "../include/obj/NiBSplineInterpolator.h" -#include "../include/obj/NiObjectNET.h" -#include "../include/obj/NiAVObject.h" -#include "../include/obj/NiDynamicEffect.h" -#include "../include/obj/NiLight.h" -#include "../include/obj/NiProperty.h" -#include "../include/obj/NiPSysModifier.h" -#include "../include/obj/NiPSysEmitter.h" -#include "../include/obj/NiPSysVolumeEmitter.h" -#include "../include/obj/NiTimeController.h" -#include "../include/obj/ABoneLODController.h" -#include "../include/obj/NiSingleInterpolatorController.h" -#include "../include/obj/APSysCtlr.h" -#include "../include/obj/NiGeometry.h" -#include "../include/obj/NiTriBasedGeom.h" -#include "../include/obj/NiGeometryData.h" -#include "../include/obj/NiTriBasedGeomData.h" -#include "../include/obj/APSysData.h" -#include "../include/obj/bhkBlendCollisionObject.h" -#include "../include/obj/bhkBlendController.h" -#include "../include/obj/bhkBoxShape.h" -#include "../include/obj/bhkCapsuleShape.h" -#include "../include/obj/bhkCollisionObject.h" -#include "../include/obj/bhkConvexVerticesShape.h" -#include "../include/obj/bhkHingeConstraint.h" -#include "../include/obj/bhkLimitedHingeConstraint.h" -#include "../include/obj/bhkListShape.h" -#include "../include/obj/bhkMalleableConstraint.h" -#include "../include/obj/bhkMoppBvTreeShape.h" -#include "../include/obj/bhkMultiSphereShape.h" -#include "../include/obj/bhkNiTriStripsShape.h" -#include "../include/obj/bhkPackedNiTriStripsShape.h" -#include "../include/obj/bhkPrismaticConstraint.h" -#include "../include/obj/bhkRagdollConstraint.h" -#include "../include/obj/bhkRigidBody.h" -#include "../include/obj/bhkRigidBodyT.h" -#include "../include/obj/bhkSimpleShapePhantom.h" -#include "../include/obj/bhkSPCollisionObject.h" -#include "../include/obj/bhkSphereShape.h" -#include "../include/obj/bhkStiffSpringConstraint.h" -#include "../include/obj/bhkTransformShape.h" -#include "../include/obj/bhkConvexTransformShape.h" -#include "../include/obj/BSBound.h" -#include "../include/obj/BSFurnitureMarker.h" -#include "../include/obj/BSParentVelocityModifier.h" -#include "../include/obj/BSPSysArrayEmitter.h" -#include "../include/obj/BSXFlags.h" -#include "../include/obj/hkPackedNiTriStripsData.h" -#include "../include/obj/NiAlphaController.h" -#include "../include/obj/NiAlphaProperty.h" -#include "../include/obj/NiAmbientLight.h" -#include "../include/obj/NiAutoNormalParticlesData.h" -#include "../include/obj/NiBinaryExtraData.h" -#include "../include/obj/NiBlendBoolInterpolator.h" -#include "../include/obj/NiBlendFloatInterpolator.h" -#include "../include/obj/NiBlendPoint3Interpolator.h" -#include "../include/obj/NiBlendTransformInterpolator.h" -#include "../include/obj/NiBoneLODController.h" -#include "../include/obj/NiBoolData.h" -#include "../include/obj/NiBooleanExtraData.h" -#include "../include/obj/NiBoolInterpolator.h" -#include "../include/obj/NiBoolTimelineInterpolator.h" -#include "../include/obj/NiBSBoneLODController.h" -#include "../include/obj/NiBSplineBasisData.h" -#include "../include/obj/NiBSplineCompFloatInterpolator.h" -#include "../include/obj/NiBSplineCompPoint3Interpolator.h" -#include "../include/obj/NiBSplineCompTransformInterpolator.h" -#include "../include/obj/NiBSplineData.h" -#include "../include/obj/NiCamera.h" -#include "../include/obj/NiCollisionData.h" -#include "../include/obj/NiColorData.h" -#include "../include/obj/NiColorExtraData.h" -#include "../include/obj/NiControllerManager.h" -#include "../include/obj/NiControllerSequence.h" -#include "../include/obj/NiDefaultAVObjectPalette.h" -#include "../include/obj/NiDirectionalLight.h" -#include "../include/obj/NiDitherProperty.h" -#include "../include/obj/NiFlipController.h" -#include "../include/obj/NiFloatData.h" -#include "../include/obj/NiFloatExtraData.h" -#include "../include/obj/NiFloatExtraDataController.h" -#include "../include/obj/NiFloatInterpolator.h" -#include "../include/obj/NiFloatsExtraData.h" -#include "../include/obj/NiFogProperty.h" -#include "../include/obj/NiGeomMorpherController.h" -#include "../include/obj/NiGravity.h" -#include "../include/obj/NiIntegerExtraData.h" -#include "../include/obj/NiIntegersExtraData.h" -#include "../include/obj/NiKeyframeController.h" -#include "../include/obj/BSKeyframeController.h" -#include "../include/obj/NiKeyframeData.h" -#include "../include/obj/NiLightColorController.h" -#include "../include/obj/NiLightDimmerController.h" -#include "../include/obj/NiLookAtController.h" -#include "../include/obj/NiLookAtInterpolator.h" -#include "../include/obj/NiMaterialColorController.h" -#include "../include/obj/NiMaterialProperty.h" -#include "../include/obj/NiMeshPSysData.h" -#include "../include/obj/NiMorphData.h" -#include "../include/obj/NiMultiTargetTransformController.h" -#include "../include/obj/NiNode.h" -#include "../include/obj/AvoidNode.h" -#include "../include/obj/FxWidget.h" -#include "../include/obj/FxButton.h" -#include "../include/obj/FxRadioButton.h" -#include "../include/obj/NiBillboardNode.h" -#include "../include/obj/NiBSAnimationNode.h" -#include "../include/obj/NiBSParticleNode.h" -#include "../include/obj/NiLODNode.h" -#include "../include/obj/NiPalette.h" -#include "../include/obj/NiParticleBomb.h" -#include "../include/obj/NiParticleColorModifier.h" -#include "../include/obj/NiParticleGrowFade.h" -#include "../include/obj/NiParticleMeshModifier.h" -#include "../include/obj/NiParticleRotation.h" -#include "../include/obj/NiParticles.h" -#include "../include/obj/NiAutoNormalParticles.h" -#include "../include/obj/NiParticleMeshes.h" -#include "../include/obj/NiParticlesData.h" -#include "../include/obj/NiParticleMeshesData.h" -#include "../include/obj/NiParticleSystem.h" -#include "../include/obj/NiMeshParticleSystem.h" -#include "../include/obj/NiParticleSystemController.h" -#include "../include/obj/NiBSPArrayController.h" -#include "../include/obj/NiPathController.h" -#include "../include/obj/NiPathInterpolator.h" -#include "../include/obj/NiPixelData.h" -#include "../include/obj/NiPlanarCollider.h" -#include "../include/obj/NiPoint3Interpolator.h" -#include "../include/obj/NiPointLight.h" -#include "../include/obj/NiPosData.h" -#include "../include/obj/NiPSysAgeDeathModifier.h" -#include "../include/obj/NiPSysBombModifier.h" -#include "../include/obj/NiPSysBoundUpdateModifier.h" -#include "../include/obj/NiPSysBoxEmitter.h" -#include "../include/obj/NiPSysColliderManager.h" -#include "../include/obj/NiPSysColorModifier.h" -#include "../include/obj/NiPSysCylinderEmitter.h" -#include "../include/obj/NiPSysData.h" -#include "../include/obj/NiPSysDragModifier.h" -#include "../include/obj/NiPSysEmitterCtlr.h" -#include "../include/obj/NiPSysEmitterCtlrData.h" -#include "../include/obj/NiPSysEmitterDeclinationCtlr.h" -#include "../include/obj/NiPSysEmitterDeclinationVarCtlr.h" -#include "../include/obj/NiPSysEmitterInitialRadiusCtlr.h" -#include "../include/obj/NiPSysEmitterLifeSpanCtlr.h" -#include "../include/obj/NiPSysEmitterSpeedCtlr.h" -#include "../include/obj/NiPSysGravityModifier.h" -#include "../include/obj/NiPSysGravityStrengthCtlr.h" -#include "../include/obj/NiPSysGrowFadeModifier.h" -#include "../include/obj/NiPSysMeshEmitter.h" -#include "../include/obj/NiPSysMeshUpdateModifier.h" -#include "../include/obj/NiPSysModifierActiveCtlr.h" -#include "../include/obj/NiPSysPlanarCollider.h" -#include "../include/obj/NiPSysPositionModifier.h" -#include "../include/obj/NiPSysResetOnLoopCtlr.h" -#include "../include/obj/NiPSysRotationModifier.h" -#include "../include/obj/NiPSysSpawnModifier.h" -#include "../include/obj/NiPSysSphereEmitter.h" -#include "../include/obj/NiPSysUpdateCtlr.h" -#include "../include/obj/NiLODData.h" -#include "../include/obj/NiRangeLODData.h" -#include "../include/obj/NiScreenLODData.h" -#include "../include/obj/NiRotatingParticles.h" -#include "../include/obj/NiRotatingParticlesData.h" -#include "../include/obj/NiSequenceStreamHelper.h" -#include "../include/obj/NiShadeProperty.h" -#include "../include/obj/NiSkinData.h" -#include "../include/obj/NiSkinInstance.h" -#include "../include/obj/NiClodSkinInstance.h" -#include "../include/obj/NiSkinPartition.h" -#include "../include/obj/NiSourceTexture.h" -#include "../include/obj/NiSpecularProperty.h" -#include "../include/obj/NiSphericalCollider.h" -#include "../include/obj/NiSpotLight.h" -#include "../include/obj/NiStencilProperty.h" -#include "../include/obj/NiStringExtraData.h" -#include "../include/obj/NiStringPalette.h" -#include "../include/obj/NiStringsExtraData.h" -#include "../include/obj/NiTextKeyExtraData.h" -#include "../include/obj/NiTextureEffect.h" -#include "../include/obj/NiTextureTransformController.h" -#include "../include/obj/NiTextureModeProperty.h" -#include "../include/obj/NiImage.h" -#include "../include/obj/NiTextureProperty.h" -#include "../include/obj/NiTexturingProperty.h" -#include "../include/obj/NiTransformController.h" -#include "../include/obj/NiTransformData.h" -#include "../include/obj/NiTransformInterpolator.h" -#include "../include/obj/NiTriShape.h" -#include "../include/obj/NiTriShapeData.h" -#include "../include/obj/NiTriStrips.h" -#include "../include/obj/NiTriStripsData.h" -#include "../include/obj/NiClod.h" -#include "../include/obj/NiClodData.h" -#include "../include/obj/NiUVController.h" -#include "../include/obj/NiUVData.h" -#include "../include/obj/NiVectorExtraData.h" -#include "../include/obj/NiVertexColorProperty.h" -#include "../include/obj/NiVertWeightsExtraData.h" -#include "../include/obj/NiVisController.h" -#include "../include/obj/NiVisData.h" -#include "../include/obj/NiWireframeProperty.h" -#include "../include/obj/NiZBufferProperty.h" -#include "../include/obj/RootCollisionNode.h" -#include "../include/gen/ByteArray.h" -#include "../include/gen/Footer.h" -#include "../include/gen/LODRange.h" -#include "../include/gen/MatchGroup.h" -#include "../include/gen/MipMap.h" -#include "../include/gen/NodeGroup.h" -#include "../include/gen/QuaternionXYZW.h" -#include "../include/gen/SkinShape.h" -#include "../include/gen/SkinShapeGroup.h" -#include "../include/gen/SkinWeight.h" -#include "../include/gen/AVObject.h" -#include "../include/gen/ControllerLink.h" -#include "../include/gen/Header.h" -#include "../include/gen/StringPalette.h" -#include "../include/gen/TBC.h" -#include "../include/gen/KeyGroup.h" -#include "../include/gen/RotationKeyArray.h" -#include "../include/gen/TexDesc.h" -#include "../include/gen/ShaderTexDesc.h" -#include "../include/gen/TexSource.h" -#include "../include/gen/SkinPartition.h" -#include "../include/gen/BoundingBox.h" -#include "../include/gen/FurniturePosition.h" -#include "../include/gen/hkTriangle.h" -#include "../include/gen/Morph.h" -#include "../include/gen/Particle.h" -#include "../include/gen/SkinData.h" -#include "../include/gen/Sphere.h" -#include "../include/gen/RagDollDescriptor.h" -#include "../include/gen/LimitedHingeDescriptor.h" -%} - -// Extra Python interface functions are defined next -%include "pyniflib.h" -%{ -#include "pyniflib.h" -#include "../include/gen/obj_defines.h" -%} - -// Data structures -/* -%include "../include/gen/ByteArray.h" -%include "../include/gen/Footer.h" -%include "../include/gen/LODRange.h" -%include "../include/gen/MatchGroup.h" -%include "../include/gen/MipMap.h" -%include "../include/gen/NodeGroup.h" -%include "../include/gen/QuaternionXYZW.h" -%include "../include/gen/SkinShape.h" -%include "../include/gen/SkinShapeGroup.h" -%include "../include/gen/SkinWeight.h" -%include "../include/gen/AVObject.h" -%include "../include/gen/ControllerLink.h" -%include "../include/gen/Header.h" -%include "../include/gen/StringPalette.h" -%include "../include/gen/TBC.h" -%include "../include/gen/KeyGroup.h" -%include "../include/gen/RotationKeyArray.h" -%include "../include/gen/TexDesc.h" -%include "../include/gen/ShaderTexDesc.h" -%include "../include/gen/TexSource.h" -%include "../include/gen/SkinPartition.h" -%include "../include/gen/BoundingBox.h" -%include "../include/gen/FurniturePosition.h" -%include "../include/gen/hkTriangle.h" -%include "../include/gen/Morph.h" -%include "../include/gen/Particle.h" -%include "../include/gen/SkinData.h" -%include "../include/gen/Sphere.h" -%include "../include/gen/RagDollDescriptor.h" -%include "../include/gen/LimitedHingeDescriptor.h" - -%template(vector_byte) std::vector<Niflib::byte>; -%template(vector_ushort) std::vector<unsigned short>; -%template(vector_SkinShape) std::vector<Niflib::SkinShape>; -%template(vector_LineString) std::vector<Niflib::LineString>; -%template(vector_string) std::vector<std::string>; -%template(vector_Triangle) std::vector<Niflib::Triangle>; -%template(vector_Vector3) std::vector<Niflib::Vector3>; -%template(vector_SkinWeight) std::vector<Niflib::SkinWeight>; -%template(vector_uint) std::vector<unsigned int>; -%template(vector_NodeGroup) std::vector<Niflib::NodeGroup>; -%template(vector_Color4) std::vector<Niflib::Color4>; -%template(vector_float) std::vector<float>; -%template(vector_Float4) std::vector<Niflib::Float4>; -%template(vector_Sphere) std::vector<Niflib::Sphere>; -%template(vector_FurniturePosition) std::vector<Niflib::FurniturePosition>; -%template(vector_hkTriangle) std::vector<Niflib::hkTriangle>; -%template(vector_SkinShapeGroup) std::vector<Niflib::SkinShapeGroup>; -%template(vector_short) std::vector<short>; -%template(vector_ControllerLink) std::vector<Niflib::ControllerLink>; -%template(vector_AVObject) std::vector<Niflib::AVObject>; -%template(vector_Morph) std::vector<Niflib::Morph>; -%template(vector_LODRange) std::vector<Niflib::LODRange>; -%template(vector_Quaternion) std::vector<Niflib::Quaternion>; -%template(vector_Particle) std::vector<Niflib::Particle>; -%template(vector_MipMap) std::vector<Niflib::MipMap>; -%template(vector_SkinData) std::vector<Niflib::SkinData>; -%template(vector_SkinPartition) std::vector<Niflib::SkinPartition>; -%template(vector_ShaderTexDesc) std::vector<Niflib::ShaderTexDesc>; -%template(vector_MatchGroup) std::vector<Niflib::MatchGroup>; -%template(pair_int_float) std::pair<int, float>; -%template(map_int_float) std::map<int, float>; -*/ - -// NIF file blocks - -%include "../include/obj/NiObject.h" -%template(NiObjectRef) Niflib::Ref<Niflib::NiObject>; -%include "../include/obj/NiObjectNET.h"; -%template(NiObjectNETRef) Niflib::Ref<Niflib::NiObjectNET>; -%template(DynamicCastToNiObjectNET) Niflib::DynamicCast<Niflib::NiObjectNET>; -%template(StaticCastToNiObjectNET) Niflib::StaticCast<Niflib::NiObjectNET>; -%include "../include/obj/NiAVObject.h"; -%template(NiAVObjectRef) Niflib::Ref<Niflib::NiAVObject>; -%template(DynamicCastToNiAVObject) Niflib::DynamicCast<Niflib::NiAVObject>; -%template(StaticCastToNiAVObject) Niflib::StaticCast<Niflib::NiAVObject>; -%include "../include/obj/NiNode.h" -%template(NiNodeRef) Niflib::Ref<Niflib::NiNode>; -%template(DynamicCastToNiNode) Niflib::DynamicCast<Niflib::NiNode>; -%template(StaticCastToNiNode) Niflib::StaticCast<Niflib::NiNode>; - -%template(vector_NiAVObjectRef) std::vector<Niflib::NiAVObjectRef>; diff --git a/test/SConscript b/test/SConscript deleted file mode 100644 index ea1afe4105eb20b2c8f53a2d9a63844cb420fba3..0000000000000000000000000000000000000000 --- a/test/SConscript +++ /dev/null @@ -1,6 +0,0 @@ -Import('*') -env.Program('test', 'test.cpp', LIBS=[niflib], LIBPATH=['.']) -for lib in niflib_swig: - env.Install('.', lib) -env.Install('.', '#/swig/niflib.py') # workaround for SCons bug -env.Install('.', '#/swig/ninode.py') # workaround for SCons bug diff --git a/test/niflib_test.py b/test/niflib_test.py deleted file mode 100644 index 5e7a47981d1bc2bb77094b98b2ecca394d204d29..0000000000000000000000000000000000000000 --- a/test/niflib_test.py +++ /dev/null @@ -1,42 +0,0 @@ -# quick test of the niflib library in python - -import unittest -import os -from niflib import * -from ninode import * - -class TestNiNode(unittest.TestCase): - def setUp(self): - # (TODO: use python's temporary file creation method) - - # create nif file - root = CreateNiNode() - self.x = Matrix44(Vector3(2,3,4),Matrix33(0,0,1,0,1,0,-1,0,0),0.123) - root().SetLocalTransform(self.x) - self.nifinfo = NifInfo() - self.nifinfo.version = 0x14000005 - self.nifinfo.creator = "amorilia" - self.nifinfo.userVersion = 11 - WriteNifTree("test.nif", root(), self.nifinfo) - - # read nif file - self.nifinfo_in = NifInfo() - root_obj = ReadNifTree("test.nif", self.nifinfo_in) - root_in = DynamicCastToNiNode(root_obj()) - - self.x_in = root_in().GetLocalTransform() - - # delete nif file - os.remove("test.nif") - - def test(self): - self.failIf(self.nifinfo.version != self.nifinfo_in.version) - self.failIf(self.nifinfo.userVersion != self.nifinfo_in.userVersion) - self.failIf(self.nifinfo.creator != self.nifinfo_in.creator) - for i in range(4): - for j in range(4): - self.assertAlmostEqual(self.x[i][j], self.x_in[i][j], 5) - -if __name__ == '__main__': - unittest.main() - diff --git a/test/runtest.py b/test/runtest.py deleted file mode 100644 index 6eaae35e487f03c3d14dcacf609863937a6a7a1d..0000000000000000000000000000000000000000 --- a/test/runtest.py +++ /dev/null @@ -1,10 +0,0 @@ -import unittest -import niflib_test -import os - -# run test.cpp -os.system("test") - -# run python tests -unittest.main(niflib_test) - diff --git a/test/test.cpp b/test/test.cpp deleted file mode 100644 index c24bc4ce0c55c750b5fbdb2c947a0b6b4e694bf8..0000000000000000000000000000000000000000 --- a/test/test.cpp +++ /dev/null @@ -1,38 +0,0 @@ -#include <cassert> - -#include "../include/niflib.h" -#include "../include/obj/NiNode.h" - -using namespace Niflib; -using namespace std; - -void CreateSimpleNif() { - NiNodeRef root(new NiNode); - Matrix44 x(Vector3(2,3,4),Matrix33(0,0,1,0,1,0,-1,0,0),0.123); - root->SetLocalTransform(x); - NifInfo nifinfo(0x14000005); - nifinfo.userVersion = 11; - nifinfo.creator = "amorilia"; - WriteNifTree("test.nif", root, nifinfo); -}; - -void CheckSimpleNif() { - NifInfo nifinfo; - NiObjectRef root_obj = ReadNifTree("test.nif", &nifinfo); - NiNodeRef root = DynamicCast<NiNode>(root_obj); - assert(nifinfo.version == 0x14000005); - assert(nifinfo.userVersion == 11); - assert(nifinfo.creator == "amorilia"); - assert(root != NULL); - Matrix44 x(Vector3(2,3,4),Matrix33(0,0,1,0,1,0,-1,0,0),0.123); - Matrix44 y = root->GetLocalTransform(); - for (int i=0; i<4; i++) - for (int j=0; j<4; j++) - assert(abs(x[i][j]-y[i][j]) < 0.0001); -}; - -int main() { - CreateSimpleNif(); - CheckSimpleNif(); - return 0; -}