MStatus CXRayObjectExport::writer ( const MFileObject& file, const MString& options, FileAccessMode mode ) { MStatus status= MS::kFailure; //move default extesion here.. MString mname = file.fullName()+".object"; LPCSTR fname = mname.asChar(); Log("Export object: ",fname); CEditableObject* OBJECT = new CEditableObject(fname); OBJECT->SetVersionToCurrent(TRUE,TRUE); if((mode==MPxFileTranslator::kExportAccessMode)||(mode==MPxFileTranslator::kSaveAccessMode)){ status = ExportAll(OBJECT)?MS::kSuccess:MS::kFailure; }else if(mode==MPxFileTranslator::kExportActiveAccessMode){ status = ExportSelected(OBJECT)?MS::kSuccess:MS::kFailure; } if (MS::kSuccess==status){ OBJECT->Optimize (); OBJECT->SaveObject (fname); Log("Object succesfully exported."); Msg("%d vertices, %d faces", OBJECT->GetVertexCount(), OBJECT->GetFaceCount()); }else{ Log("! Export failed."); } xr_delete(OBJECT); return status; }