src/VrmlAPI/VrmlAPI_CafReader.hxx 18::>>#include Can be removed 29>::>>//! @param theToProbe flag for probing file without complete reading. Not supported in Vrml format Not supported? 31::>>const Message_ProgressRange& There are no have a name and description in param section src/VrmlAPI/VrmlAPI_CafReader.cxx 28-29:: >>//! Return string associated with VRML reader status. >>static TCollection_AsciiString getVrmlErrorName(VrmlData_ErrorStatus theStatus) Please use a special function description 51:: >> case VrmlData_NotImplemented: return "NotImplemented"; >>} There can be not valid enum values. Can be default::return "UNKNOWN"; 55-56:: >>//! Process sub-shape. >>static void performMeshSubshape(RWMesh_NodeAttributeMap& theAttribMap, Please use a special function description 66-68:: >>RWMesh_NodeAttributes aFaceAttribs; >>aFaceAttribs.Style.SetColorSurf(anAppearance->Material()->DiffuseColor()); >>theAttribMap.Bind(theShape, aFaceAttribs); I think we can try to find RWMesh_NodeAttributes in the map and if it is exists - update it, no forgor another attributes 79::<>const Message_ProgressRange&, Please create progress range realisation If you want use a parameter's object, use the next code in the first line of function body: (void) theParameter; 89::>>Standard_CLocaleSentryaLocaleSentry Unused variable 94::>>Message::SendFail(TCollection_AsciiString("File '") + theFile + "' is not found"; You can use a stream to put message, for example: Message::SendFail() << "Error: File '" << theFile << "' is not found"; 99::>>return false; // unsupported Please info the user 122-124:: >>Message::SendFail(TCollection_AsciiString("Error ") + getVrmlErrorName(aScene.Status()) >> + " occurred at line " + aScene.GetLineError() >> + "\nwhile reading VRML file '" + theFile + "'"); Please use stream to info user src/Vrml/Vrml_Provider.cxx 109-110 >>Message::SendWarning() << "Warning in the Vrml_Provider during reading the file: file has been read paratially " >> "(due to unexpected EOF, syntax error, memory limit) '" << thePath << "'"; Some problem with ", combine two message use << operator or incriment operator src/XDEDRAW/XDEDRAW_Common.cxx 62-64:: >>//! Parse RWMesh_CoordinateSystem enumeration. >>static bool parseCoordinateSystem(const char* theArg, >> RWMesh_CoordinateSystem& theSystem) Use special function description 1293::<< "\n\t\t: -fillIncomplete fill the document with partially retrieved data even if reader has failed with " Not used in the main description 1292:: >>"\n\t\t: -noCreateDoc read into existing XDE document." There is a noCreateDoc without parameters (wth on/off) 806-813:: >>else if (anArg == "-nocreatedoc") >>{ >> toUseExistingDoc = true; >> if(anArgIt + 1 < theArgc && Draw::ParseOnOff(theArgv[anArgIt + 1], toUseExistingDoc)) >> { >> ++anArgIt; >> } >>} There is noCreateDoc with parameters. 1295::<<"\n\t\t: Read VRML file into XDE document.", Double of the 1288:: 763-764:: >>Standard_Boolean toUseExistingDoc = false; >>Standard_Boolean toFillIncomplete = true; With Standard_Boolean use Standard_False of Standard_True 765::>>Standard_CString aDocName = NULL; Please use "Handle(TDocStd_Document) aDoc" as a flag of existing of document name tests/de_mesh/vrml_read/A1 (The same with A2 A3 A4) 9::<< vclose ALL Why? 17-18 >>XNewDoc D >>ReadVrml D $aFile Some problem. In case with XNewDoc it is needed to use -nocreatedoc 19-23 >>XGetOneShape S_New D >>vinit Driver1/Viewer2/View1 >>vdisplay S_New -dispmode 1 >>vfit >>checkview -screenshot -3d -path ${imagedir}/${test_image}_2.png Use XDisplay with document tests/de_mesh/vrml_read/A4 The test check DE_Wrapper ability, it not needed. Use only one check (de_wrapper or native DRAW command. They must be equal) ___ Please describe the unit behavior. Why there some changes in the test cases. What differs with no XCAF reader.