Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/blenkernel/intern/exotic.c')
-rw-r--r--source/blender/blenkernel/intern/exotic.c193
1 files changed, 97 insertions, 96 deletions
diff --git a/source/blender/blenkernel/intern/exotic.c b/source/blender/blenkernel/intern/exotic.c
index 911efda21bd..43056d7f98b 100644
--- a/source/blender/blenkernel/intern/exotic.c
+++ b/source/blender/blenkernel/intern/exotic.c
@@ -115,6 +115,7 @@
#include "BKE_object.h"
#include "BKE_material.h"
#include "BKE_exotic.h"
+
/* #include "BKE_error.h" */
#include "BKE_screen.h"
#include "BKE_displist.h"
@@ -129,7 +130,7 @@
#include "zlib.h"
static int is_dxf(char *str);
-static void dxf_read(char *filename);
+static void dxf_read(Scene *scene, char *filename);
static int is_stl(char *str);
static int is_stl_ascii(char *str)
@@ -233,7 +234,7 @@ static void mesh_add_normals_flags(Mesh *me)
}
}
-static void read_stl_mesh_binary(char *str)
+static void read_stl_mesh_binary(Scene *scene, char *str)
{
FILE *fpSTL;
Object *ob;
@@ -295,7 +296,7 @@ static void read_stl_mesh_binary(char *str)
fseek(fpSTL, 2, SEEK_CUR);
}
- ob= add_object(OB_MESH);
+ ob= add_object(scene, OB_MESH);
me= ob->data;
me->totvert = totvert;
me->totface = totface;
@@ -344,7 +345,7 @@ static void read_stl_mesh_binary(char *str)
STLBAILOUT("Bad vertex!"); \
++totvert; \
}
-static void read_stl_mesh_ascii(char *str)
+static void read_stl_mesh_ascii(Scene *scene, char *str)
{
FILE *fpSTL;
char buffer[2048], *cp;
@@ -436,7 +437,7 @@ static void read_stl_mesh_ascii(char *str)
fclose(fpSTL);
/* OK, lets create our mesh */
- ob = add_object(OB_MESH);
+ ob = add_object(scene, OB_MESH);
me = ob->data;
me->totface = totface;
@@ -481,7 +482,7 @@ static void read_stl_mesh_ascii(char *str)
#undef STLREADLINE
#undef STLREADVERT
-static void read_videoscape_mesh(char *str)
+static void read_videoscape_mesh(Scene *scene, char *str)
{
Object *ob;
Mesh *me;
@@ -555,7 +556,7 @@ static void read_videoscape_mesh(char *str)
}
/* new object */
- ob= add_object(OB_MESH);
+ ob= add_object(scene, OB_MESH);
me= ob->data;
me->totvert= verts;
me->totface= totedge+tottria+totquad;
@@ -688,7 +689,7 @@ static void read_videoscape_mesh(char *str)
//XXX waitcursor(1);
}
-static void read_videoscape_lamp(char *str)
+static void read_videoscape_lamp(Scene *scene, char *str)
{
Object *ob;
Lamp *la;
@@ -707,7 +708,7 @@ static void read_videoscape_lamp(char *str)
fscanf(fp, "%d\n", &tot);
while(tot--) {
- ob= add_object(OB_LAMP);
+ ob= add_object(scene, OB_LAMP);
la= ob->data;
fscanf(fp, "%d\n", &val);
@@ -730,7 +731,7 @@ static void read_videoscape_lamp(char *str)
fclose(fp);
}
-static void read_videoscape_nurbs(char *str)
+static void read_videoscape_nurbs(Scene *scene, char *str)
{
Object *ob;
Curve *cu;
@@ -751,8 +752,8 @@ static void read_videoscape_nurbs(char *str)
fscanf(fp, "%40s", s);
fscanf(fp, "%d\n", &type);
- if(type==5) ob= add_object(OB_SURF);
- else ob= add_object(OB_CURVE);
+ if(type==5) ob= add_object(scene, OB_SURF);
+ else ob= add_object(scene, OB_CURVE);
cu= ob->data;
fscanf(fp, "%d\n", &tot);
@@ -832,7 +833,7 @@ static void read_videoscape_nurbs(char *str)
fclose(fp);
}
-static void read_videoscape(char *str)
+static void read_videoscape(Scene *scene, char *str)
{
int file, type;
unsigned int val;
@@ -848,9 +849,9 @@ static void read_videoscape(char *str)
read(file, &type, 4);
close(file);
- if(type==DDG1) read_videoscape_mesh(name);
- else if(type==DDG2) read_videoscape_lamp(name);
- else if(type==DDG3) read_videoscape_nurbs(name);
+ if(type==DDG1) read_videoscape_mesh(scene, name);
+ else if(type==DDG2) read_videoscape_lamp(scene, name);
+ else if(type==DDG3) read_videoscape_nurbs(scene, name);
}
val = BLI_stringdec(name, head, tail, &numlen);
@@ -1043,7 +1044,7 @@ static void read_iv_index(float *data, float *baseadr, float *index, int nr, int
-static void read_inventor(char *str, struct ListBase *listb)
+static void read_inventor(Scene *scene, char *str, struct ListBase *listb)
{
struct IvNode *iv, *ivp, *ivn;
char *maindata, *md, *cpa;
@@ -1641,7 +1642,7 @@ static void read_inventor(char *str, struct ListBase *listb)
BPoint *bp;
if(ivsurf==0) {
- ob= add_object(OB_SURF);
+ ob= add_object(scene, OB_SURF);
ivsurf= ob;
}
else ob= ivsurf;
@@ -1724,7 +1725,7 @@ static void read_inventor(char *str, struct ListBase *listb)
/* ************************************************************ */
-static void displist_to_mesh(DispList *dlfirst)
+static void displist_to_mesh(Scene *scene, DispList *dlfirst)
{
Object *ob;
Mesh *me;
@@ -1841,9 +1842,9 @@ static void displist_to_mesh(DispList *dlfirst)
vec[1]= (min[1]+max[1])/2;
vec[2]= (min[2]+max[2])/2;
- ob= add_object(OB_MESH);
+ ob= add_object(scene, OB_MESH);
VECCOPY(ob->loc, vec);
- where_is_object(ob);
+ where_is_object(scene, ob);
me= ob->data;
@@ -2063,7 +2064,7 @@ static void displist_to_mesh(DispList *dlfirst)
make_edges(me, 0);
}
-static void displist_to_objects(ListBase *lbase)
+static void displist_to_objects(Scene *scene, ListBase *lbase)
{
DispList *dl, *first, *prev, *next;
ListBase tempbase;
@@ -2071,7 +2072,7 @@ static void displist_to_objects(ListBase *lbase)
/* irst this: is still active */
if(ivsurf) {
- where_is_object(ivsurf);
+ where_is_object(scene, ivsurf);
// XXX docenter_new();
}
@@ -2152,12 +2153,12 @@ static void displist_to_objects(ListBase *lbase)
totvert+= vert;
if(totvert > maxaantal || dl->next==0) {
if(dl->next==0) {
- displist_to_mesh(first);
+ displist_to_mesh(scene, first);
}
else if(dl->prev) {
prev= dl->prev;
prev->next= 0;
- displist_to_mesh(first);
+ displist_to_mesh(scene, first);
prev->next= dl;
first= dl;
totvert= 0;
@@ -2172,13 +2173,13 @@ static void displist_to_objects(ListBase *lbase)
curcol++;
}
}
- else displist_to_mesh(lbase->first);
+ else displist_to_mesh(scene, lbase->first);
freedisplist(lbase);
}
-int BKE_read_exotic(char *name)
+int BKE_read_exotic(Scene *scene, char *name)
{
ListBase lbase={0, 0};
int len;
@@ -2208,33 +2209,33 @@ int BKE_read_exotic(char *name)
if(0) { // XXX obedit) {
//XXX error("Unable to perform function in EditMode");
} else {
- read_videoscape(name);
+ read_videoscape(scene, name);
retval = 1;
}
}
else if(strncmp(str, "#Inventor V1.0", 14)==0) {
if( strncmp(str+15, "ascii", 5)==0) {
- read_inventor(name, &lbase);
- displist_to_objects(&lbase);
+ read_inventor(scene, name, &lbase);
+ displist_to_objects(scene, &lbase);
retval = 1;
} else {
//XXX error("Can only read Inventor 1.0 ascii");
}
}
else if((strncmp(str, "#VRML V1.0 asc", 14)==0)) {
- read_inventor(name, &lbase);
- displist_to_objects(&lbase);
+ read_inventor(scene, name, &lbase);
+ displist_to_objects(scene, &lbase);
retval = 1;
}
else if(is_dxf(name)) {
- dxf_read(name);
+ dxf_read(scene, name);
retval = 1;
}
else if(is_stl(name)) {
if (is_stl_ascii(name))
- read_stl_mesh_ascii(name);
+ read_stl_mesh_ascii(scene, name);
else
- read_stl_mesh_binary(name);
+ read_stl_mesh_binary(scene, name);
retval = 1;
}
#ifndef DISABLE_PYTHON
@@ -2306,10 +2307,10 @@ static int write_derivedmesh_stl(FILE *fpSTL, Object *ob, DerivedMesh *dm)
return numfacets;
}
-static int write_object_stl(FILE *fpSTL, Object *ob, Mesh *me)
+static int write_object_stl(FILE *fpSTL, Scene *scene, Object *ob, Mesh *me)
{
int numfacets = 0;
- DerivedMesh *dm = mesh_get_derived_final(ob, CD_MASK_BAREMESH);
+ DerivedMesh *dm = mesh_get_derived_final(scene, ob, CD_MASK_BAREMESH);
numfacets += write_derivedmesh_stl(fpSTL, ob, dm);
@@ -2318,7 +2319,7 @@ static int write_object_stl(FILE *fpSTL, Object *ob, Mesh *me)
return numfacets;
}
-void write_stl(char *str)
+void write_stl(Scene *scene, char *str)
{
Object *ob;
Mesh *me;
@@ -2356,14 +2357,14 @@ void write_stl(char *str)
fprintf(fpSTL, "Binary STL output from Blender: %-48.48s ", str);
/* Write all selected mesh objects */
- base= G.scene->base.first;
+ base= scene->base.first;
while(base) {
if (base->flag & SELECT) {
ob = base->object;
if (ob->type == OB_MESH) {
me = ob->data;
if (me)
- numfacets += write_object_stl(fpSTL, ob, me);
+ numfacets += write_object_stl(fpSTL, scene, ob, me);
}
}
base= base->next;
@@ -2384,7 +2385,7 @@ void write_stl(char *str)
//XXX waitcursor(0);
}
-static void write_videoscape_mesh(Object *ob, char *str)
+static void write_videoscape_mesh(Scene *scene, Object *ob, char *str)
{
Mesh *me;
EditMesh *em = me->edit_mesh;
@@ -2463,7 +2464,7 @@ static void write_videoscape_mesh(Object *ob, char *str)
}
}
else {
- DerivedMesh *dm = mesh_get_derived_deform(ob, CD_MASK_BAREMESH);
+ DerivedMesh *dm = mesh_get_derived_deform(scene, ob, CD_MASK_BAREMESH);
me= ob->data;
@@ -2492,7 +2493,7 @@ static void write_videoscape_mesh(Object *ob, char *str)
}
-void write_videoscape(char *str)
+void write_videoscape(Scene *scene, char *str)
{
Base *base;
int file, val, lampdone=0;
@@ -2511,11 +2512,11 @@ void write_videoscape(char *str)
strcpy(temp_dir, str);
- base= G.scene->base.first;
+ base= scene->base.first;
while(base) {
- if((base->flag & SELECT) && (base->lay & G.scene->lay)) {
+ if((base->flag & SELECT) && (base->lay & scene->lay)) {
if(base->object->type==OB_MESH) {
- write_videoscape_mesh(base->object, str);
+ write_videoscape_mesh(scene, base->object, str);
val = BLI_stringdec(str, head, tail, &numlen);
BLI_stringenc(str, head, tail, numlen, val + 1);
}
@@ -2812,7 +2813,7 @@ static void write_object_vrml(FILE *fp, Object *ob)
}
-void write_vrml(char *str)
+void write_vrml(Scene *scene, char *str)
{
Mesh *me;
Material *ma;
@@ -2851,7 +2852,7 @@ void write_vrml(char *str)
/* only write meshes we're using in this scene */
flag_listbase_ids(&G.main->mesh, LIB_DOIT, 0);
- for(base= G.scene->base.first; base; base= base->next)
+ for(base= scene->base.first; base; base= base->next)
if(base->object->type== OB_MESH)
((ID *)base->object->data)->flag |= LIB_DOIT;
@@ -2865,10 +2866,10 @@ void write_vrml(char *str)
/* THEN:Hidden Objects */
fprintf(fp, "\n\t# Hidden Objects, in invisible layers\n\n");
- base= G.scene->base.first;
+ base= scene->base.first;
while(base) {
if(base->object->type== OB_MESH) {
- if( (base->lay & G.scene->lay)==0 ) {
+ if( (base->lay & scene->lay)==0 ) {
write_object_vrml(fp, base->object);
}
}
@@ -2881,14 +2882,14 @@ void write_vrml(char *str)
/* The camera */
- write_camera_vrml(fp, G.scene->camera);
+ write_camera_vrml(fp, scene->camera);
/* THEN:The Objects */
- base= G.scene->base.first;
+ base= scene->base.first;
while(base) {
if(base->object->type== OB_MESH) {
- if(base->lay & G.scene->lay) {
+ if(base->lay & scene->lay) {
write_object_vrml(fp, base->object);
}
}
@@ -3123,7 +3124,7 @@ static void write_object_dxf(FILE *fp, Object *ob, int layer)
fprintf (fp, "50\n%f\n", (float) ob->rot[2]*180/M_PI); /* Can only write the Z rot */
}
-void write_dxf(char *str)
+void write_dxf(struct Scene *scene, char *str)
{
Mesh *me;
Base *base;
@@ -3164,7 +3165,7 @@ void write_dxf(char *str)
/* only write meshes we're using in this scene */
flag_listbase_ids(&G.main->mesh, LIB_DOIT, 0);
- for(base= G.scene->base.first; base; base= base->next)
+ for(base= scene->base.first; base; base= base->next)
if(base->object->type== OB_MESH)
((ID *)base->object->data)->flag |= LIB_DOIT;
@@ -3185,7 +3186,7 @@ void write_dxf(char *str)
write_group(2, "ENTITIES");
/* Write all the mesh objects */
- base= G.scene->base.first;
+ base= scene->base.first;
while(base) {
if(base->object->type== OB_MESH) {
write_object_dxf(fp, base->object, base->lay);
@@ -3255,12 +3256,12 @@ static int dxf_get_layer_col(char *layer)
return 1;
}
-static int dxf_get_layer_num(char *layer)
+static int dxf_get_layer_num(Scene *scene, char *layer)
{
int ret = 0;
if (all_digits(layer) && atoi(layer)<(1<<20)) ret= atoi(layer);
- if (ret == 0) ret = G.scene->lay;
+ if (ret == 0) ret = scene->lay;
return ret;
}
@@ -3432,22 +3433,22 @@ static float zerovec[3]= {0.0, 0.0, 0.0};
#define reset_vars cent[0]= cent[1]= cent[2]=0.0; strcpy(layname, ""); color[0]= color[1]= color[2]= -1.0
-static void dxf_get_mesh(Mesh** m, Object** o, int noob)
+static void dxf_get_mesh(Scene *scene, Mesh** m, Object** o, int noob)
{
Mesh *me = NULL;
Object *ob;
if (!noob) {
- *o = add_object(OB_MESH);
+ *o = add_object(scene, OB_MESH);
ob = *o;
if (strlen(entname)) new_id(&G.main->object, (ID *)ob, entname);
else if (strlen(layname)) new_id(&G.main->object, (ID *)ob, layname);
- if (strlen(layname)) ob->lay= dxf_get_layer_num(layname);
- else ob->lay= G.scene->lay;
+ if (strlen(layname)) ob->lay= dxf_get_layer_num(scene, layname);
+ else ob->lay= scene->lay;
// not nice i know... but add_object() sets active base, which needs layer setting too (ton)
- G.scene->basact->lay= ob->lay;
+ scene->basact->lay= ob->lay;
*m = ob->data;
me= *m;
@@ -3474,7 +3475,7 @@ static void dxf_get_mesh(Mesh** m, Object** o, int noob)
me->mface= CustomData_add_layer(&me->fdata, CD_MFACE, CD_CALLOC, NULL, 0);
}
-static void dxf_read_point(int noob) {
+static void dxf_read_point(Scene *scene, int noob) {
/* Blender vars */
Object *ob;
Mesh *me;
@@ -3503,7 +3504,7 @@ static void dxf_read_point(int noob) {
read_group(id, val);
}
- dxf_get_mesh(&me, &ob, noob);
+ dxf_get_mesh(scene, &me, &ob, noob);
me->totvert= 1;
me->mvert= MEM_callocN(me->totvert*sizeof(MVert), "mverts");
CustomData_set_layer(&me->vdata, CD_MVERT, me->mvert);
@@ -3533,7 +3534,7 @@ static void dxf_close_line(void)
linehold=NULL;
}
-static void dxf_read_line(int noob) {
+static void dxf_read_line(Scene *scene, int noob) {
/* Entity specific vars */
float epoint[3]={0.0, 0.0, 0.0};
short vspace=0; /* Whether or not coords are relative */
@@ -3583,7 +3584,7 @@ static void dxf_read_line(int noob) {
dxf_close_line();
if (linemhold==NULL) {
- dxf_get_mesh(&me, &ob, noob);
+ dxf_get_mesh(scene, &me, &ob, noob);
if(ob) VECCOPY(ob->loc, cent);
@@ -3645,7 +3646,7 @@ static void dxf_close_2dpoly(void)
p2dhold=NULL;
}
-static void dxf_read_ellipse(int noob)
+static void dxf_read_ellipse(Scene *scene, int noob)
{
/*
@@ -3791,7 +3792,7 @@ static void dxf_read_ellipse(int noob)
cent[2]= center[2];
#endif
- dxf_get_mesh(&me, &ob, noob);
+ dxf_get_mesh(scene, &me, &ob, noob);
strcpy(oldllay, layname);
if(ob) VECCOPY(ob->loc, cent);
dxf_add_mat (ob, me, color, layname);
@@ -3841,7 +3842,7 @@ static void dxf_read_ellipse(int noob)
}
}
-static void dxf_read_arc(int noob)
+static void dxf_read_arc(Scene *scene, int noob)
{
/* Entity specific vars */
float epoint[3]={0.0, 0.0, 0.0};
@@ -3919,7 +3920,7 @@ static void dxf_read_arc(int noob)
cent[1]= center[1]+dia*cos(phi);
cent[2]= center[2];
- dxf_get_mesh(&me, &ob, noob);
+ dxf_get_mesh(scene, &me, &ob, noob);
strcpy(oldllay, layname);
if(ob) VECCOPY(ob->loc, cent);
dxf_add_mat (ob, me, color, layname);
@@ -3964,7 +3965,7 @@ static void dxf_read_arc(int noob)
}
}
-static void dxf_read_polyline(int noob) {
+static void dxf_read_polyline(Scene *scene, int noob) {
/* Entity specific vars */
short vspace=0; /* Whether or not coords are relative */
int flag=0;
@@ -4013,7 +4014,7 @@ static void dxf_read_polyline(int noob) {
dxf_close_2dpoly();
if (p2dmhold==NULL) {
- dxf_get_mesh(&me, &ob, noob);
+ dxf_get_mesh(scene, &me, &ob, noob);
strcpy(oldplay, layname);
@@ -4089,7 +4090,7 @@ static void dxf_read_polyline(int noob) {
lwasp2d=1;
}
else if (flag&64) {
- dxf_get_mesh(&me, &ob, noob);
+ dxf_get_mesh(scene, &me, &ob, noob);
if(ob) VECCOPY(ob->loc, cent);
@@ -4190,7 +4191,7 @@ static void dxf_read_polyline(int noob) {
}
}
-static void dxf_read_lwpolyline(int noob) {
+static void dxf_read_lwpolyline(Scene *scene, int noob) {
/* Entity specific vars */
short vspace=0; /* Whether or not coords are relative */
int flag=0;
@@ -4240,7 +4241,7 @@ static void dxf_read_lwpolyline(int noob) {
if (nverts == 0)
return;
- dxf_get_mesh(&me, &ob, noob);
+ dxf_get_mesh(scene, &me, &ob, noob);
strcpy(oldllay, layname);
if(ob) VECCOPY(ob->loc, cent);
dxf_add_mat (ob, me, color, layname);
@@ -4314,7 +4315,7 @@ static void dxf_close_3dface(void)
f3dhold=NULL;
}
-static void dxf_read_3dface(int noob)
+static void dxf_read_3dface(Scene *scene, int noob)
{
/* Entity specific vars */
float vert2[3]={0.0, 0.0, 0.0};
@@ -4410,7 +4411,7 @@ static void dxf_read_3dface(int noob)
}
if (f3dmhold==NULL) {
- dxf_get_mesh(&me, &ob, noob);
+ dxf_get_mesh(scene, &me, &ob, noob);
strcpy(oldflay, layname);
@@ -4477,7 +4478,7 @@ static void dxf_read_3dface(int noob)
hasbumped=1;
}
-static void dxf_read(char *filename)
+static void dxf_read(Scene *scene, char *filename)
{
Mesh *lastMe = G.main->mesh.last;
@@ -4525,7 +4526,7 @@ static void dxf_read(char *filename)
read_group(id, val);
if(group_is(0, "POLYLINE")) {
- dxf_read_polyline(1);
+ dxf_read_polyline(scene, 1);
if(error_exit) return;
lwasf3d=0;
lwasline=0;
@@ -4533,7 +4534,7 @@ static void dxf_read(char *filename)
while(group_isnt(0, "SEQEND")) read_group(id, val);
} else if(group_is(0, "LWPOLYLINE")) {
- dxf_read_lwpolyline(1);
+ dxf_read_lwpolyline(scene, 1);
if(error_exit) return;
lwasf3d=0;
lwasline=0;
@@ -4545,27 +4546,27 @@ static void dxf_read(char *filename)
lwasp2d=0;
lwasline=0;
} else if(group_is(0, "POINT")) {
- dxf_read_point(1);
+ dxf_read_point(scene, 1);
if(error_exit) return;
lwasf3d=0;
lwasp2d=0;
lwasline=0;
} else if(group_is(0, "LINE")) {
- dxf_read_line(1);
+ dxf_read_line(scene, 1);
if(error_exit) return;
lwasline=1;
lwasp2d=0;
lwasf3d=0;
} else if(group_is(0, "3DFACE")) {
- dxf_read_3dface(1);
+ dxf_read_3dface(scene, 1);
if(error_exit) return;
lwasf3d=1;
lwasp2d=0;
lwasline=0;
} else if (group_is(0, "CIRCLE")) {
- dxf_read_arc(1);
+ dxf_read_arc(scene, 1);
} else if (group_is(0, "ELLIPSE")) {
- dxf_read_ellipse(1);
+ dxf_read_ellipse(scene, 1);
} else if (group_is(0, "ENDBLK")) {
break;
}
@@ -4667,12 +4668,12 @@ static void dxf_read(char *filename)
I leave it commented out here as warning (ton) */
//for (i=0; i<ob->totcol; i++) ob->mat[i]= ((Mesh*)ob->data)->mat[i];
- if (strlen(layname)) ob->lay= dxf_get_layer_num(layname);
- else ob->lay= G.scene->lay;
+ if (strlen(layname)) ob->lay= dxf_get_layer_num(scene, layname);
+ else ob->lay= scene->lay;
/* link to scene */
base= MEM_callocN( sizeof(Base), "add_base");
- BLI_addhead(&G.scene->base, base);
+ BLI_addhead(&scene->base, base);
base->lay= ob->lay;
@@ -4685,7 +4686,7 @@ static void dxf_read(char *filename)
lwasp2d=0;
lwasline=0;
} else if(group_is(0, "POLYLINE")) {
- dxf_read_polyline(0);
+ dxf_read_polyline(scene, 0);
if(error_exit) return;
lwasf3d=0;
lwasline=0;
@@ -4693,7 +4694,7 @@ static void dxf_read(char *filename)
while(group_isnt(0, "SEQEND")) read_group(id, val);
} else if(group_is(0, "LWPOLYLINE")) {
- dxf_read_lwpolyline(0);
+ dxf_read_lwpolyline(scene, 0);
if(error_exit) return;
lwasf3d=0;
lwasline=0;
@@ -4705,27 +4706,27 @@ static void dxf_read(char *filename)
lwasp2d=0;
lwasline=0;
} else if(group_is(0, "POINT")) {
- dxf_read_point(0);
+ dxf_read_point(scene, 0);
if(error_exit) return;
lwasf3d=0;
lwasp2d=0;
lwasline=0;
} else if(group_is(0, "LINE")) {
- dxf_read_line(0);
+ dxf_read_line(scene, 0);
if(error_exit) return;
lwasline=1;
lwasp2d=0;
lwasf3d=0;
} else if(group_is(0, "3DFACE")) {
- dxf_read_3dface(0);
+ dxf_read_3dface(scene, 0);
if(error_exit) return;
lwasline=0;
lwasp2d=0;
lwasf3d=1;
} else if (group_is(0, "CIRCLE") || group_is(0, "ARC")) {
- dxf_read_arc(0);
+ dxf_read_arc(scene, 0);
} else if (group_is(0, "ELLIPSE")) {
- dxf_read_ellipse(0);
+ dxf_read_ellipse(scene, 0);
} else if(group_is(0, "ENDSEC")) {
break;
}