// File: Graphic3d_TextureEnv.cxx // Created: Mon Jul 28 17:54:59 1997 // Author: Pierre CHALAMET // // Modified : GG 10/01/2000 IMP // Adds Name(),NumberOfTextures() and TextureName() methods #include #include #include #include #include #include #include #include static TCollection_AsciiString GetEnvir ( ) { static Standard_Boolean IsDefined=Standard_False ; static TCollection_AsciiString VarName; if ( !IsDefined ) { char const *envir, *casroot ; envir = getenv("CSF_MDTVTexturesDirectory") ; Standard_Boolean HasDefinition = Standard_False ; if ( !envir ) { casroot = getenv("CASROOT"); #ifdef OCE_INSTALL_DATA_DIR if ( !casroot ) { casroot = OCE_INSTALL_DATA_DIR; } #endif if ( casroot ) { VarName = TCollection_AsciiString (casroot); VarName += "/src/Textures" ; HasDefinition = Standard_True ; } } else { VarName = TCollection_AsciiString (envir); HasDefinition = Standard_True ; } if ( HasDefinition ) { OSD_Path aPath ( VarName ); OSD_Directory aDir(aPath); if ( aDir.Exists () ) { TCollection_AsciiString aTexture = VarName + "/2d_MatraDatavision.rgb" ; OSD_File TextureFile ( aTexture ); if ( !TextureFile.Exists() ) { cout << " CSF_MDTVTexturesDirectory or CASROOT not correctly setted " << endl; cout << " not all files are found in : "< NumberOfTextures() ) Standard_OutOfRange::Raise(" BAD index of texture"); TCollection_AsciiString filename(NameOfTexture_to_FileName[aRank-1]); Standard_Integer i = filename.SearchFromEnd("."); static TCollection_AsciiString name; name = filename.SubString(5,i-1); return name.ToCString(); }