2次元座標から3次元座標の計算ロジックなどを外部参照可能して他のプログラムからでも使用できるようにしました。共通事項(1)関数はC言語のインターフェースです。(2)LoadLibraryとGetProcAddressを用いた明示的リンクで関数の呼び出しします。関数名を文字列にしたものをGetProcAddressの第二パラメータに指定して、関数のポインタを取得します。result=pMake3DFromNearCameraC(&param);左のフレームのソースの中のSFPDllDriverのプロジェクト内のソースで同じようなことを行っているので参照願います。(3)関数はパラメータを1つ持ちます。そのパラメータは関数毎に定めている構造体へのポインタです。その構造体はtypedefで指定し、関数名の後にParamを付加したものです。(4)関数はchar*の戻り値を持ちます。戻り値が0の場合は正常です。0以外の場合はエラーのメッセージを示します。(5)パラメータの構造体の最初のメンバはパラメータの構造体のバイトサイズです。パラメータのサイズが期待しているサイズと等しいか調べる関数があります(調べない関数もあります)。(6)パラメータの構造体のメンバは共通で使用する共通構造体を使用しています。(7)パラメータの構造体のメンバでデータが可変個数のものは、データの個数とデータへの二重ポインタとしています。一つ一つのデータのメモリ領域を確保して、そのデータへのポインタを配列で持ち、配列の先頭アドレスをメンバに設定します。SSFPCoordinateWithMeaningFlag**picture;//in//座標};(8)関数は出力の可変個数のデータのためにメモリ領域をアロケートしません。呼び出し側で十分な領域を確保してください。1SSFPCoordinateWithMeaningFlag2次元又は3次元の座標2SSFPPictures写真上の対応点の座標(2次元座標)3SSFPPicture対応点の3次元座標4SSFPCameraSystemカメラの位置・姿勢・倍率を示す行列5SSFPCameraSystems複数のカメラの位置・姿勢・倍率を示す行列6SSFPTriangleWithNumberポリゴン(三角形)7SSFPTriangleWithNumbers複数のポリゴン(三角形)8SSFPUnsignedChars文字列等のバイトデータ9SSFPUnsignedCharss複数の文字列等のバイトデータ10SSFPImageRgbRGB形式の画像データ11SSFPImagesRgb複数のRGB形式の画像データ一部省略しています。対応点の入力が完了してVRMLファイルを出力する場合、次の順序で関数を呼び出す必要があります。VRML出力をするホーム。