//----------------------------------------------------------------------------- // //----------------------------------------------------------------------------- uint CVstSmdIOCmd::GetExportType( const MArgDatabase &mArgDatabase ) { uint retVal( 0 ); if ( mArgDatabase.isFlagSet( kOptExportType ) ) { MString optExportType; MArgList tmpArgList; const uint etEnd( mArgDatabase.numberOfFlagUses( kOptExportType ) ); for ( uint eti( 0 ); eti != etEnd; ++eti ) { mArgDatabase.getFlagArgumentList( kOptExportType, eti, tmpArgList ); optExportType = tmpArgList.asString( 0 ); if ( strnicmp( optExportType.asChar(), "r", 1 ) == 0 || strnicmp( optExportType.asChar(), "m", 1 ) == 0 ) { retVal |= CSmdExport::kReference; } else if ( strnicmp( optExportType.asChar(), "p", 1 ) == 0 ) { retVal |= CSmdExport::kPhysModel; } else if ( strnicmp( optExportType.asChar(), "a", 1 ) == 0 || strnicmp( optExportType.asChar(), "s", 1 ) == 0 ) { retVal |= CSmdExport::kAnimation; } else if ( strnicmp( optExportType.asChar(), "v", 1 ) == 0 ) { retVal |= CSmdExport::kVTA; } else { MGlobal::displayWarning( MString( "Cannot determine the type of export from -et " ) + optExportType + ", assume reference/model" ); } } } if ( retVal == 0 ) { retVal = CSmdExport::kReference; } return retVal; }
bool readMultiUseFlag(const char flagName[], MArgDatabase &args, MSelectionList &sel){ if (!args.isFlagSet(flagName)) return false; MStatus status; for(unsigned int i=0,numUses = args.numberOfFlagUses(flagName); i<numUses; i++ ) { MArgList argList; status = args.getFlagArgumentList( flagName, i, argList ); CHECK_STATUS("problem reading multi flag",status); MString name = argList.asString( 0, &status ); CHECK_STATUS("problem reading multi flag (2)",status); status = sel.add(name); CHECK_STATUS("problem adding item to selection",status); } return true; }