予めデータ(vv_PLF)を作成して,必要に応じてファイルに出力するコード.
vv_PLF* get_vv_PLF (void)
{
static vv_PLF G_PLF ;
return &G_PLF ;
}
static PyObject* check_rd (PyObject* self, PyObject* args)
{
vv_PLF* gvv_plf = get_vv_PLF() ;
vv_PLF vv_plf_ = ::Check_Revise_deg() ;
*gvv_plf = vv_plf_ ;
return Py_None ;
}
static PyObject* dump_svg (PyObject* self, PyObject* args)
{
vv_PLF* gvv_plf = get_vv_PLF() ;
::Dump_SVG(*gvv_plf) ;
return Py_None ;
}
static PyObject* dump_ipl (PyObject* self, PyObject* args)
{
vv_PLF* gvv_plf = get_vv_PLF() ;
::Dump_ipl(*gvv_plf) ;
return Py_None ;
}

Python 側では
* check_rd でデータを作成.
* dump_svg などでデータを出力.
3D データを読み込んで,指定されたファイル名(拡張子により形式を判断)で出力.
static PyObject* load (PyObject* self, PyObject* args)
{
const char* str_file = NULL ;
if (!PyArg_ParseTuple(args,"s",&str_file)) {
return NULL ;
}
tstring g3_file = str_file ;
GonsA gnsa = ::To_GonsA(g3_file.c_str()) ;
set_GonsA(gnsa) ;
return Py_None;
}
static PyObject* save (PyObject* self, PyObject* args)
{
const char* str_file = NULL ;
if (!PyArg_ParseTuple(args,"s",&str_file)) {
return NULL ;
}
tstring g3_file = str_file ;
GonsA* gnsa = ::get_GonsA() ;
::GonsA_To(*gnsa,g3_file.c_str()) ;
return Py_None;
}
static PyObject* gons_to (PyObject* self, PyObject* args)
{
const char* str_file = NULL ;
if (!PyArg_ParseTuple(args,"s",&str_file)) {
return NULL ;
}
tstring g3_file = str_file ;
gons_to(g3_file.c_str()) ;
return Py_None;
}
