UV2BMPDialog::CoreMessage(id,msg) { switch(id) { case ACTIVE_OBJECT_CHANGED: { //Realtime Texture Manipulation mit Texos if (GetCheckbox(UV_TEXOB_IA)==TRUE) { var doc = GetActiveDocument(); if (!doc) return; var texob = GetActiveObject(doc); if (!texob) return; var uv1,uv2,uv3,uv4,i,j; var name,name2,pos; //wenn es sich beim selektierten Objekt um ein texo handelt name=texob->GetName(); pos=strstr(name,".texo"); name2=strmid(name,0,pos); var obj=doc->FindObject(name2); if (!obj) return; if (UVWTagTest(obj)!=NULL) var tag=UVWTagTest(obj); else return; var ttag; var arr = tag->GetData(); var cnt = tag->GetDataCount(); //nur wenn Texo Feedback aktiviert ist, die uv-tag abfrage durchf³hren if (GetCheckbox(UV_TEXOB_FB)==TRUE) { if (UVWTagTest(obj)!=NULL) ttag=UVWTagTest(texob); else return; var tarr = ttag->GetData(); var tcnt = ttag->GetDataCount(); } SetMousePointer(MOUSE_BUSY); var texobarr = texob->GetPolygons(); var texptarr = texob->GetPoints(); //Skalierungsfaktor benutzen var tf=GetInt(UV_TEXOB_SL); for (i=0,j=0; iSetData(arr); obj->Message(MSG_UPDATE); //wenn Texo Feedback aktiviert ist, ihm auch die neuen UVs zuweisen if (GetCheckbox(UV_TEXOB_FB)==TRUE) { ttag->SetData(arr); texob->Message(MSG_UPDATE); } //Alles neu zeichnen GeEventAdd(REDRAW_ALL); SetMousePointer(MOUSE_NORMAL); return TRUE; } } case NEW_DOCUMENT: case DOCUMENT_CHANGED: case NEW_ACTIVE_OBJECT: { Init(); return TRUE; } break; } return FALSE; }