From 9953b9b65ee73482c48388f7d6de058b0898785f Mon Sep 17 00:00:00 2001 From: Amorilia <amorilia@users.sourceforge.net> Date: Tue, 13 Jun 2006 00:26:52 +0000 Subject: [PATCH] SWIG wrapper now compiles and links. --- niflib.h | 4 +- obj/NiObject.cpp | 4 + pyniflib.i | 218 ++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 223 insertions(+), 3 deletions(-) diff --git a/niflib.h b/niflib.h index 142d69f9..e5b25bbe 100644 --- a/niflib.h +++ b/niflib.h @@ -50,6 +50,8 @@ POSSIBILITY OF SUCH DAMAGE. */ #include "nif_math.h" #include "NIF_IO.h" #include "obj/NiObject.h" +#include "obj/NiNode.h" +#include "obj/NiAVObject.h" //#include "gen/obj_defines.h" #include "kfm.h" @@ -192,7 +194,7 @@ NIFLIB_API void WriteFileGroup( string const & file_name, NiObjectRef const & ro * \param right The root block of the second Nif tree to merge. * \param version The version of the nif format to use during the clone operation on the right-hand tree. The default is the highest version availiable. */ -NIFLIB_API void MergeNifTrees( NiObjectRef target, NiObjectRef right, unsigned int version = 0xFFFFFFFF ); +NIFLIB_API void MergeNifTrees( NiNodeRef target, NiAVObjectRef right, unsigned int version = 0xffffffff ); //// Returns list of all blocks in the tree rooted by root block. diff --git a/obj/NiObject.cpp b/obj/NiObject.cpp index 5a0c4c0c..521f22ca 100644 --- a/obj/NiObject.cpp +++ b/obj/NiObject.cpp @@ -62,3 +62,7 @@ string NiObject::GetIDString() { out << this << "(" << this->GetType().GetTypeName() << ")"; return out.str(); } + +NiObjectRef NiObject::Clone( unsigned int version ) { + throw runtime_error("Cloning not yet implemented."); +}; diff --git a/pyniflib.i b/pyniflib.i index 6e579aa3..7cc21b3b 100644 --- a/pyniflib.i +++ b/pyniflib.i @@ -67,12 +67,226 @@ POSSIBILITY OF SUCH DAMAGE. */ #define NIFLIB_API #define NIFLIB_HIDDEN +// we need this to get all the defines in there %include "gen/obj_defines.h" - %{ - #include "niflib.h" + #include "niflib.h" + #include "obj/NiObject.h" + #include "obj/AKeyedData.h" + #include "obj/AParticleModifier.h" + #include "obj/bhkRefObject.h" + #include "obj/bhkSerializable.h" + #include "obj/AbhkConstraint.h" + #include "obj/AbhkRagdollConstraint.h" + #include "obj/bhkShape.h" + #include "obj/AbhkShapeCollection.h" + #include "obj/bhkSphereRepShape.h" + #include "obj/bhkConvexShape.h" + #include "obj/bhkWorldObject.h" + #include "obj/bhkEntity.h" + #include "obj/NiCollisionObject.h" + #include "obj/NiExtraData.h" + #include "obj/NiInterpolator.h" + #include "obj/NiBlendInterpolator.h" + #include "obj/NiBSplineInterpolator.h" + #include "obj/NiObjectNET.h" + #include "obj/NiAVObject.h" + #include "obj/NiDynamicEffect.h" + #include "obj/NiLight.h" + #include "obj/NiProperty.h" + #include "obj/NiPSysModifier.h" + #include "obj/NiPSysEmitter.h" + #include "obj/NiPSysVolumeEmitter.h" + #include "obj/NiTimeController.h" + #include "obj/ABoneLODController.h" + #include "obj/NiSingleInterpolatorController.h" + #include "obj/APSysCtlr.h" + #include "obj/NiTriBasedGeom.h" + #include "obj/NiTriBasedGeomData.h" + #include "obj/APSysData.h" + #include "obj/bhkBlendCollisionObject.h" + #include "obj/bhkBlendController.h" + #include "obj/bhkBoxShape.h" + #include "obj/bhkCapsuleShape.h" + #include "obj/bhkCollisionObject.h" + #include "obj/bhkConvexVerticesShape.h" + #include "obj/bhkHingeConstraint.h" + #include "obj/bhkLimitedHingeConstraint.h" + #include "obj/bhkListShape.h" + #include "obj/bhkMalleableConstraint.h" + #include "obj/bhkMoppBvTreeShape.h" + #include "obj/bhkMultiSphereShape.h" + #include "obj/bhkNiTriStripsShape.h" + #include "obj/bhkPackedNiTriStripsShape.h" + #include "obj/bhkPrismaticConstraint.h" + #include "obj/bhkRagdollConstraint.h" + #include "obj/bhkRigidBody.h" + #include "obj/bhkRigidBodyT.h" + #include "obj/bhkSimpleShapePhantom.h" + #include "obj/bhkSPCollisionObject.h" + #include "obj/bhkSphereShape.h" + #include "obj/bhkStiffSpringConstraint.h" + #include "obj/bhkTransformShape.h" + #include "obj/bhkConvexTransformShape.h" + #include "obj/BSBound.h" + #include "obj/BSFurnitureMarker.h" + #include "obj/BSParentVelocityModifier.h" + #include "obj/BSPSysArrayEmitter.h" + #include "obj/BSXFlags.h" + #include "obj/hkPackedNiTriStripsData.h" + #include "obj/NiAlphaController.h" + #include "obj/NiAlphaProperty.h" + #include "obj/NiAmbientLight.h" + #include "obj/NiAutoNormalParticlesData.h" + #include "obj/NiBinaryExtraData.h" + #include "obj/NiBlendBoolInterpolator.h" + #include "obj/NiBlendFloatInterpolator.h" + #include "obj/NiBlendPoint3Interpolator.h" + #include "obj/NiBlendTransformInterpolator.h" + #include "obj/NiBoneLODController.h" + #include "obj/NiBoolData.h" + #include "obj/NiBooleanExtraData.h" + #include "obj/NiBoolInterpolator.h" + #include "obj/NiBoolTimelineInterpolator.h" + #include "obj/NiBSBoneLODController.h" + #include "obj/NiBSplineBasisData.h" + #include "obj/NiBSplineCompFloatInterpolator.h" + #include "obj/NiBSplineCompPoint3Interpolator.h" + #include "obj/NiBSplineCompTransformInterpolator.h" + #include "obj/NiBSplineData.h" + #include "obj/NiCamera.h" + #include "obj/NiCollisionData.h" + #include "obj/NiColorData.h" + #include "obj/NiColorExtraData.h" + #include "obj/NiControllerManager.h" + #include "obj/NiControllerSequence.h" + #include "obj/NiDefaultAVObjectPalette.h" + #include "obj/NiDirectionalLight.h" + #include "obj/NiDitherProperty.h" + #include "obj/NiFlipController.h" + #include "obj/NiFloatData.h" + #include "obj/NiFloatExtraData.h" + #include "obj/NiFloatExtraDataController.h" + #include "obj/NiFloatInterpolator.h" + #include "obj/NiFloatsExtraData.h" + #include "obj/NiFogProperty.h" + #include "obj/NiGeomMorpherController.h" + #include "obj/NiGravity.h" + #include "obj/NiIntegerExtraData.h" + #include "obj/NiIntegersExtraData.h" + #include "obj/NiKeyframeController.h" + #include "obj/BSKeyframeController.h" + #include "obj/NiKeyframeData.h" + #include "obj/NiLightColorController.h" + #include "obj/NiLightDimmerController.h" + #include "obj/NiLookAtController.h" + #include "obj/NiLookAtInterpolator.h" + #include "obj/NiMaterialColorController.h" + #include "obj/NiMaterialProperty.h" + #include "obj/NiMeshPSysData.h" + #include "obj/NiMorphData.h" + #include "obj/NiMultiTargetTransformController.h" + #include "obj/NiNode.h" + #include "obj/AvoidNode.h" + #include "obj/FxWidget.h" + #include "obj/FxButton.h" + #include "obj/FxRadioButton.h" + #include "obj/NiBillboardNode.h" + #include "obj/NiBSAnimationNode.h" + #include "obj/NiBSParticleNode.h" + #include "obj/NiLODNode.h" + #include "obj/NiPalette.h" + #include "obj/NiParticleBomb.h" + #include "obj/NiParticleColorModifier.h" + #include "obj/NiParticleGrowFade.h" + #include "obj/NiParticleMeshModifier.h" + #include "obj/NiParticleRotation.h" + #include "obj/NiParticles.h" + #include "obj/NiAutoNormalParticles.h" + #include "obj/NiParticleMeshes.h" + #include "obj/NiParticlesData.h" + #include "obj/NiParticleMeshesData.h" + #include "obj/NiParticleSystem.h" + #include "obj/NiMeshParticleSystem.h" + #include "obj/NiParticleSystemController.h" + #include "obj/NiBSPArrayController.h" + #include "obj/NiPathController.h" + #include "obj/NiPathInterpolator.h" + #include "obj/NiPixelData.h" + #include "obj/NiPlanarCollider.h" + #include "obj/NiPoint3Interpolator.h" + #include "obj/NiPointLight.h" + #include "obj/NiPosData.h" + #include "obj/NiPSysAgeDeathModifier.h" + #include "obj/NiPSysBombModifier.h" + #include "obj/NiPSysBoundUpdateModifier.h" + #include "obj/NiPSysBoxEmitter.h" + #include "obj/NiPSysColliderManager.h" + #include "obj/NiPSysColorModifier.h" + #include "obj/NiPSysCylinderEmitter.h" + #include "obj/NiPSysData.h" + #include "obj/NiPSysDragModifier.h" + #include "obj/NiPSysEmitterCtlr.h" + #include "obj/NiPSysEmitterCtlrData.h" + #include "obj/NiPSysEmitterDeclinationCtlr.h" + #include "obj/NiPSysEmitterDeclinationVarCtlr.h" + #include "obj/NiPSysEmitterInitialRadiusCtlr.h" + #include "obj/NiPSysEmitterLifeSpanCtlr.h" + #include "obj/NiPSysEmitterSpeedCtlr.h" + #include "obj/NiPSysGravityModifier.h" + #include "obj/NiPSysGravityStrengthCtlr.h" + #include "obj/NiPSysGrowFadeModifier.h" + #include "obj/NiPSysMeshEmitter.h" + #include "obj/NiPSysMeshUpdateModifier.h" + #include "obj/NiPSysModifierActiveCtlr.h" + #include "obj/NiPSysPlanarCollider.h" + #include "obj/NiPSysPositionModifier.h" + #include "obj/NiPSysResetOnLoopCtlr.h" + #include "obj/NiPSysRotationModifier.h" + #include "obj/NiPSysSpawnModifier.h" + #include "obj/NiPSysSphereEmitter.h" + #include "obj/NiPSysUpdateCtlr.h" + #include "obj/NiRangeLODData.h" + #include "obj/NiRotatingParticles.h" + #include "obj/NiRotatingParticlesData.h" + #include "obj/NiScreenLODData.h" + #include "obj/NiSequenceStreamHelper.h" + #include "obj/NiShadeProperty.h" + #include "obj/NiSkinData.h" + #include "obj/NiSkinInstance.h" + #include "obj/NiSkinPartition.h" + #include "obj/NiSourceTexture.h" + #include "obj/NiSpecularProperty.h" + #include "obj/NiSphericalCollider.h" + #include "obj/NiSpotLight.h" + #include "obj/NiStencilProperty.h" + #include "obj/NiStringExtraData.h" + #include "obj/NiStringPalette.h" + #include "obj/NiStringsExtraData.h" + #include "obj/NiTextKeyExtraData.h" + #include "obj/NiTextureEffect.h" + #include "obj/NiTextureTransformController.h" + #include "obj/NiTexturingProperty.h" + #include "obj/NiTransformController.h" + #include "obj/NiTransformData.h" + #include "obj/NiTransformInterpolator.h" + #include "obj/NiTriShape.h" + #include "obj/NiTriShapeData.h" + #include "obj/NiTriStrips.h" + #include "obj/NiTriStripsData.h" + #include "obj/NiUVController.h" + #include "obj/NiUVData.h" + #include "obj/NiVectorExtraData.h" + #include "obj/NiVertexColorProperty.h" + #include "obj/NiVertWeightsExtraData.h" + #include "obj/NiVisController.h" + #include "obj/NiVisData.h" + #include "obj/NiWireframeProperty.h" + #include "obj/NiZBufferProperty.h" + #include "obj/RootCollisionNode.h" %} + // we need the definition of the template classes before we define the template Python names below template <class T> struct Key { -- GitLab