@@ -1,100 +1,101 @@
using System.Runtime.InteropServices ;
using System ;
using System.Runtime.InteropServices ;
namespace AssetStudio.FbxInterop
{
partial class FbxExporterContext
{
[Library Import(FbxDll.DllName)]
private static partial nint AsFbxCreateContext ( ) ;
[Dll Import(FbxDll.DllName)]
private static extern IntPtr AsFbxCreateContext ( ) ;
[Library Import(FbxDll.DllName, StringMarshalling = StringMarshalling.Utf8 )]
[Dll Import(FbxDll.DllName)]
[return: MarshalAs(UnmanagedType.Bool)]
private static partial bool AsFbxInitializeContext ( nint context , string fileName , float scaleFactor , int versionIndex , [ MarshalAs ( UnmanagedType . Bool ) ] bool isAscii , [ MarshalAs ( UnmanagedType . Bool ) ] bool is60Fps , out string errorMessage ) ;
private static extern bool AsFbxInitializeContext ( IntPtr context , [ MarshalAs ( UnmanagedType . LPUTF8Str ) ] string fileName , float scaleFactor , int versionIndex , [ MarshalAs ( UnmanagedType . Bool ) ] bool isAscii , [ MarshalAs ( UnmanagedType . Bool ) ] bool is60Fps , out string errorMessage ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxDisposeContext ( ref nint ppContext ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxDisposeContext ( ref IntPtr ppContext ) ;
private static void AsFbxSetFramePaths ( nint context , string [ ] framePaths ) = > AsFbxSetFramePaths ( context , framePaths , framePaths . Length ) ;
private static void AsFbxSetFramePaths ( IntPtr context , string [ ] framePaths ) = > AsFbxSetFramePaths ( context , framePaths , framePaths . Length ) ;
[Library Import(FbxDll.DllName, StringMarshalling = StringMarshalling.Utf8 )]
private static partial void AsFbxSetFramePaths ( nint context , string [ ] framePaths , int count ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxSetFramePaths ( IntPtr context , [ MarshalAs ( UnmanagedType . LPUTF8Str ) ] string [ ] framePaths , int count ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxExportScene ( nint context ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxExportScene ( IntPtr context ) ;
[Library Import(FbxDll.DllName)]
private static partial nint AsFbxGetSceneRootNode ( nint context ) ;
[Dll Import(FbxDll.DllName)]
private static extern IntPtr AsFbxGetSceneRootNode ( IntPtr context ) ;
private static nint AsFbxExportSingleFrame ( nint context , nint parentNode , string framePath , string frameName , in Vector3 localPosition , in Vector3 localRotation , in Vector3 localScale )
private static IntPtr AsFbxExportSingleFrame ( IntPtr context , IntPtr parentNode , string framePath , string frameName , in Vector3 localPosition , in Vector3 localRotation , in Vector3 localScale )
{
return AsFbxExportSingleFrame ( context , parentNode , framePath , frameName , localPosition . X , localPosition . Y , localPosition . Z , localRotation . X , localRotation . Y , localRotation . Z , localScale . X , localScale . Y , localScale . Z ) ;
}
[Library Import(FbxDll.DllName, StringMarshalling = StringMarshalling.Utf8 )]
private static partial nint AsFbxExportSingleFrame ( nint context , nint parentNode , string strFramePath , string strFrameName , float localPositionX , float localPositionY , float localPositionZ , float localRotationX , float localRotationY , float localRotationZ , float localScaleX , float localScaleY , float localScaleZ ) ;
[Dll Import(FbxDll.DllName)]
private static extern IntPtr AsFbxExportSingleFrame ( IntPtr context , IntPtr parentNode , [ MarshalAs ( UnmanagedType . LPUTF8Str ) ] string strFramePath , [ MarshalAs ( UnmanagedType . LPUTF8Str ) ] string strFrameName , float localPositionX , float localPositionY , float localPositionZ , float localRotationX , float localRotationY , float localRotationZ , float localScaleX , float localScaleY , float localScaleZ ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxSetJointsNode_CastToBone ( nint context , nint node , float boneSize ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxSetJointsNode_CastToBone ( IntPtr context , IntPtr node , float boneSize ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxSetJointsNode_BoneInPath ( nint context , nint node , float boneSize ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxSetJointsNode_BoneInPath ( IntPtr context , IntPtr node , float boneSize ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxSetJointsNode_Generic ( nint context , nint node ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxSetJointsNode_Generic ( IntPtr context , IntPtr node ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxPrepareMaterials ( nint context , int materialCount , int textureCount ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxPrepareMaterials ( IntPtr context , int materialCount , int textureCount ) ;
[Library Import(FbxDll.DllName, StringMarshalling = StringMarshalling.Utf8 )]
private static partial nint AsFbxCreateTexture ( nint context , string matTexName ) ;
[Dll Import(FbxDll.DllName)]
private static extern IntPtr AsFbxCreateTexture ( IntPtr context , [ MarshalAs ( UnmanagedType . LPUTF8Str ) ] string matTexName ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxLinkTexture ( int dest , nint texture , nint material , float offsetX , float offsetY , float scaleX , float scaleY ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxLinkTexture ( int dest , IntPtr texture , IntPtr material , float offsetX , float offsetY , float scaleX , float scaleY ) ;
[Library Import(FbxDll.DllName)]
private static partial nint AsFbxMeshCreateClusterArray ( int boneCount ) ;
[Dll Import(FbxDll.DllName)]
private static extern IntPtr AsFbxMeshCreateClusterArray ( int boneCount ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxMeshDisposeClusterArray ( ref nint ppArray ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxMeshDisposeClusterArray ( ref IntPtr ppArray ) ;
[Library Import(FbxDll.DllName)]
private static partial nint AsFbxMeshCreateCluster ( nint context , nint boneNode ) ;
[Dll Import(FbxDll.DllName)]
private static extern IntPtr AsFbxMeshCreateCluster ( IntPtr context , IntPtr boneNode ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxMeshAddCluster ( nint array , nint cluster ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxMeshAddCluster ( IntPtr array , IntPtr cluster ) ;
[Library Import(FbxDll.DllName)]
private static partial nint AsFbxMeshCreateMesh ( nint context , nint frameNode ) ;
[Dll Import(FbxDll.DllName)]
private static extern IntPtr AsFbxMeshCreateMesh ( IntPtr context , IntPtr frameNode ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxMeshInitControlPoints ( nint mesh , int vertexCount ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxMeshInitControlPoints ( IntPtr mesh , int vertexCount ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxMeshCreateElementNormal ( nint mesh ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxMeshCreateElementNormal ( IntPtr mesh ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxMeshCreateDiffuseUV ( nint mesh , int uv ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxMeshCreateDiffuseUV ( IntPtr mesh , int uv ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxMeshCreateNormalMapUV ( nint mesh , int uv ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxMeshCreateNormalMapUV ( IntPtr mesh , int uv ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxMeshCreateElementTangent ( nint mesh ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxMeshCreateElementTangent ( IntPtr mesh ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxMeshCreateElementVertexColor ( nint mesh ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxMeshCreateElementVertexColor ( IntPtr mesh ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxMeshCreateElementMaterial ( nint mesh ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxMeshCreateElementMaterial ( IntPtr mesh ) ;
private static nint AsFbxCreateMaterial ( nint pContext , string matName , in Color diffuse , in Color ambient , in Color emissive , in Color specular , in Color reflection , float shininess , float transparency )
private static IntPtr AsFbxCreateMaterial ( IntPtr pContext , string matName , in Color diffuse , in Color ambient , in Color emissive , in Color specular , in Color reflection , float shininess , float transparency )
{
return AsFbxCreateMaterial ( pContext , matName , diffuse . R , diffuse . G , diffuse . B , ambient . R , ambient . G , ambient . B , emissive . R , emissive . G , emissive . B , specular . R , specular . G , specular . B , reflection . R , reflection . G , reflection . B , shininess , transparency ) ;
}
[Library Import(FbxDll.DllName, StringMarshalling = StringMarshalling.Utf8 )]
private static partial nint AsFbxCreateMaterial ( nint pContext , string pMatName ,
[Dll Import(FbxDll.DllName)]
private static extern IntPtr AsFbxCreateMaterial ( IntPtr pContext , [ MarshalAs ( UnmanagedType . LPUTF8Str ) ] string pMatName ,
float diffuseR , float diffuseG , float diffuseB ,
float ambientR , float ambientG , float ambientB ,
float emissiveR , float emissiveG , float emissiveB ,
@@ -102,121 +103,121 @@ namespace AssetStudio.FbxInterop
float reflectR , float reflectG , float reflectB ,
float shininess , float transparency ) ;
[Library Import(FbxDll.DllName)]
private static partial int AsFbxAddMaterialToFrame ( nint frameNode , nint material ) ;
[Dll Import(FbxDll.DllName)]
private static extern int AsFbxAddMaterialToFrame ( IntPtr frameNode , IntPtr material ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxSetFrameShadingModeToTextureShading ( nint frameNode ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxSetFrameShadingModeToTextureShading ( IntPtr frameNode ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxMeshSetControlPoint ( nint mesh , int index , float x , float y , float z ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxMeshSetControlPoint ( IntPtr mesh , int index , float x , float y , float z ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxMeshAddPolygon ( nint mesh , int materialIndex , int index0 , int index1 , int index2 ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxMeshAddPolygon ( IntPtr mesh , int materialIndex , int index0 , int index1 , int index2 ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxMeshElementNormalAdd ( nint mesh , int elementIndex , float x , float y , float z ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxMeshElementNormalAdd ( IntPtr mesh , int elementIndex , float x , float y , float z ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxMeshElementUVAdd ( nint mesh , int elementIndex , float u , float v ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxMeshElementUVAdd ( IntPtr mesh , int elementIndex , float u , float v ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxMeshElementTangentAdd ( nint mesh , int elementIndex , float x , float y , float z , float w ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxMeshElementTangentAdd ( IntPtr mesh , int elementIndex , float x , float y , float z , float w ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxMeshElementVertexColorAdd ( nint mesh , int elementIndex , float r , float g , float b , float a ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxMeshElementVertexColorAdd ( IntPtr mesh , int elementIndex , float r , float g , float b , float a ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxMeshSetBoneWeight ( nint pClusterArray , int boneIndex , int vertexIndex , float weight ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxMeshSetBoneWeight ( IntPtr pClusterArray , int boneIndex , int vertexIndex , float weight ) ;
[Library Import(FbxDll.DllName)]
private static partial nint AsFbxMeshCreateSkinContext ( nint context , nint frameNode ) ;
[Dll Import(FbxDll.DllName)]
private static extern IntPtr AsFbxMeshCreateSkinContext ( IntPtr context , IntPtr frameNode ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxMeshDisposeSkinContext ( ref nint ppSkinContext ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxMeshDisposeSkinContext ( ref IntPtr ppSkinContext ) ;
[Library Import(FbxDll.DllName)]
[Dll Import(FbxDll.DllName)]
[return: MarshalAs(UnmanagedType.Bool)]
private static partial bool FbxClusterArray_HasItemAt ( nint pClusterArray , int index ) ;
private static extern bool FbxClusterArray_HasItemAt ( IntPtr pClusterArray , int index ) ;
[Library Import(FbxDll.DllName)]
private static unsafe partial void AsFbxMeshSkinAddCluster ( nint pSkinContext , nint pClusterArray , int index , float * pBoneMatrix ) ;
[Dll Import(FbxDll.DllName)]
private static unsafe extern void AsFbxMeshSkinAddCluster ( IntPtr pSkinContext , IntPtr pClusterArray , int index , float * pBoneMatrix ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxMeshAddDeformer ( nint pSkinContext , nint pMesh ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxMeshAddDeformer ( IntPtr pSkinContext , IntPtr pMesh ) ;
[Library Import(FbxDll.DllName)]
private static partial nint AsFbxAnimCreateContext ( [ MarshalAs ( UnmanagedType . Bool ) ] bool eulerFilter ) ;
[Dll Import(FbxDll.DllName)]
private static extern IntPtr AsFbxAnimCreateContext ( [ MarshalAs ( UnmanagedType . Bool ) ] bool eulerFilter ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxAnimDisposeContext ( ref nint ppAnimContext ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxAnimDisposeContext ( ref IntPtr ppAnimContext ) ;
[Library Import(FbxDll.DllName, StringMarshalling = StringMarshalling.Utf8 )]
private static partial void AsFbxAnimPrepareStackAndLayer ( nint pContext , nint pAnimContext , string takeName ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxAnimPrepareStackAndLayer ( IntPtr pContext , IntPtr pAnimContext , [ MarshalAs ( UnmanagedType . LPUTF8Str ) ] string takeName ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxAnimLoadCurves ( nint pNode , nint pAnimContext ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxAnimLoadCurves ( IntPtr pNode , IntPtr pAnimContext ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxAnimBeginKeyModify ( nint pAnimContext ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxAnimBeginKeyModify ( IntPtr pAnimContext ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxAnimEndKeyModify ( nint pAnimContext ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxAnimEndKeyModify ( IntPtr pAnimContext ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxAnimAddScalingKey ( nint pAnimContext , float time , float x , float y , float z ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxAnimAddScalingKey ( IntPtr pAnimContext , float time , float x , float y , float z ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxAnimAddRotationKey ( nint pAnimContext , float time , float x , float y , float z ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxAnimAddRotationKey ( IntPtr pAnimContext , float time , float x , float y , float z ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxAnimAddTranslationKey ( nint pAnimContext , float time , float x , float y , float z ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxAnimAddTranslationKey ( IntPtr pAnimContext , float time , float x , float y , float z ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxAnimApplyEulerFilter ( nint pAnimContext , float filterPrecision ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxAnimApplyEulerFilter ( IntPtr pAnimContext , float filterPrecision ) ;
[Library Import(FbxDll.DllName)]
private static partial int AsFbxAnimGetCurrentBlendShapeChannelCount ( nint pAnimContext , nint pNode ) ;
[Dll Import(FbxDll.DllName)]
private static extern int AsFbxAnimGetCurrentBlendShapeChannelCount ( IntPtr pAnimContext , IntPtr pNode ) ;
[Library Import(FbxDll.DllName, StringMarshalling = StringMarshalling.Utf8 )]
[Dll Import(FbxDll.DllName)]
[return: MarshalAs(UnmanagedType.Bool)]
private static partial bool AsFbxAnimIsBlendShapeChannelMatch ( nint pAnimContext , int channelIndex , string channelName ) ;
private static extern bool AsFbxAnimIsBlendShapeChannelMatch ( IntPtr pAnimContext , int channelIndex , [ MarshalAs ( UnmanagedType . LPUTF8Str ) ] string channelName ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxAnimBeginBlendShapeAnimCurve ( nint pAnimContext , int channelIndex ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxAnimBeginBlendShapeAnimCurve ( IntPtr pAnimContext , int channelIndex ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxAnimEndBlendShapeAnimCurve ( nint pAnimContext ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxAnimEndBlendShapeAnimCurve ( IntPtr pAnimContext ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxAnimAddBlendShapeKeyframe ( nint pAnimContext , float time , float value ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxAnimAddBlendShapeKeyframe ( IntPtr pAnimContext , float time , float value ) ;
[Library Import(FbxDll.DllName)]
private static partial nint AsFbxMorphCreateContext ( ) ;
[Dll Import(FbxDll.DllName)]
private static extern IntPtr AsFbxMorphCreateContext ( ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxMorphInitializeContext ( nint pContext , nint pMorphContext , nint pNode ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxMorphInitializeContext ( IntPtr pContext , IntPtr pMorphContext , IntPtr pNode ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxMorphDisposeContext ( ref nint ppMorphContext ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxMorphDisposeContext ( ref IntPtr ppMorphContext ) ;
[Library Import(FbxDll.DllName, StringMarshalling = StringMarshalling.Utf8 )]
private static partial void AsFbxMorphAddBlendShapeChannel ( nint pContext , nint pMorphContext , string channelName ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxMorphAddBlendShapeChannel ( IntPtr pContext , IntPtr pMorphContext , [ MarshalAs ( UnmanagedType . LPUTF8Str ) ] string channelName ) ;
[Library Import(FbxDll.DllName, StringMarshalling = StringMarshalling.Utf8 )]
private static partial void AsFbxMorphAddBlendShapeChannelShape ( nint pContext , nint pMorphContext , float weight , string shapeName ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxMorphAddBlendShapeChannelShape ( IntPtr pContext , IntPtr pMorphContext , float weight , [ MarshalAs ( UnmanagedType . LPUTF8Str ) ] string shapeName ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxMorphCopyBlendShapeControlPoints ( nint pMorphContext ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxMorphCopyBlendShapeControlPoints ( IntPtr pMorphContext ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxMorphSetBlendShapeVertex ( nint pMorphContext , uint index , float x , float y , float z ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxMorphSetBlendShapeVertex ( IntPtr pMorphContext , uint index , float x , float y , float z ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxMorphCopyBlendShapeControlPointsNormal ( nint pMorphContext ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxMorphCopyBlendShapeControlPointsNormal ( IntPtr pMorphContext ) ;
[Library Import(FbxDll.DllName)]
private static partial void AsFbxMorphSetBlendShapeVertexNormal ( nint pMorphContext , uint index , float x , float y , float z ) ;
[Dll Import(FbxDll.DllName)]
private static extern void AsFbxMorphSetBlendShapeVertexNormal ( IntPtr pMorphContext , uint index , float x , float y , float z ) ;
}
}