// File: Draw_UnitCommands.cxx // Created: Thu Feb 23 18:21:17 1995 // Author: Remi LEQUETTE // #include #include #include #include #include #include #include #include //======================================================================= //function : parsing //purpose : parsing of unit's expression //======================================================================= static Standard_Integer parsing (Draw_Interpretor& di, Standard_Integer argc, const char** argv) { if (argc < 2) { di << "Usage : " << argv[0] << " string [nbiter]" << "\n"; return 1; } TCollection_AsciiString aStrTok(argv[1]); Standard_Integer nbIter =1; if(argc >2) nbIter = atoi(argv[2]); UnitsAPI::SetLocalSystem(); Handle(Units_Token) atoken; Units_UnitSentence aUnitSent(aStrTok.ToCString()); if(!aUnitSent.IsDone()) { di<<"can not create a sentence"<<"\n"; return 1; } Standard_Integer i =1; for( ; i <= nbIter; i++) { aUnitSent.Analyse(); //aUnitSent.Dump(); Handle(Units_TokensSequence) aseq = aUnitSent.Sequence(); } atoken = aUnitSent.Evaluate(); di<<"Token word : "<Word().ToCString()<<"\n"; return 0; } //======================================================================= //function : unitsdico //purpose : dump dictionary of units //======================================================================= static Standard_Integer unitsdico (Draw_Interpretor& /* di */, Standard_Integer /*argc*/, const char** /*argv*/) { UnitsAPI::SetLocalSystem(); Standard_Integer mode = 2; Units::DictionaryOfUnits(Standard_False)->Dump(mode); return 0; } //======================================================================= //function : converttoSI //purpose : //======================================================================= static Standard_Integer converttoSI (Draw_Interpretor& di, Standard_Integer argc, const char** argv) { if (argc < 3) { di<<"Invalid number of parameter, use: unitconvtoSI real string"<<"\n"; return 1; } Standard_Real aData = atof(argv[1]); Standard_CString aUnit = argv[2]; Standard_Real res = UnitsAPI::AnyToSI(aData,aUnit); di<<"result: "<