From 709e97a0c1b986454ff7ce3be0881be776b6b961 Mon Sep 17 00:00:00 2001 From: anv Date: Fri, 26 Sep 2014 16:26:12 +0400 Subject: [PATCH] 0024961: MeshVS: revision of DRAW commands meshfromstl - display MeshVS_Mesh object in a way consistent with vdisplay command meshdel - deleted, vremove to be used instead meshshowall - set empty maps of hidden IDs instead of null handles meshhidesel - initialize the maps of hidden IDs to avoid exception meshmat - add optional transparency argument and enable transparency in the viewer if not yet done meshvectors - command for testing VectorPrsBuilder added MeshVS: DRAW commands improving Updating test cases due to previous changes Small bug in MeshVS_ElementalColorPrsBuilder fixed vselmode fix Small correction of test cases for issue CR24961 --- .../MeshVS_ElementalColorPrsBuilder.cxx | 5 +- src/MeshVS/MeshVS_Mesh.cxx | 2 +- src/SelectMgr/SelectMgr_SelectableObject.cxx | 2 +- src/ViewerTest/ViewerTest_ObjectCommands.cxx | 32 +- src/XSDRAWSTLVRML/XSDRAWSTLVRML.cdl | 2 + src/XSDRAWSTLVRML/XSDRAWSTLVRML.cxx | 707 +++++++++++------- .../XSDRAWSTLVRML_DataSource3D.cdl | 98 +++ .../XSDRAWSTLVRML_DataSource3D.cxx | 385 ++++++++++ tests/3rdparty/export/A1 | 4 +- tests/bugs/moddata_2/bug22572 | 23 +- tests/bugs/vis/bug10702 | 12 +- tests/bugs/vis/bug10781 | 4 +- tests/bugs/vis/bug11095 | 4 +- tests/bugs/vis/bug137_10 | 4 +- tests/bugs/vis/bug137_11 | 4 +- tests/bugs/vis/bug137_9 | 4 +- tests/bugs/vis/bug21091_3 | 4 +- tests/bugs/vis/bug24389 | 8 +- tests/bugs/vis/bug6652 | 6 +- tests/perf/multi_mesh_selection/A1 | 54 +- tests/perf/multi_mesh_selection/A2 | 54 +- tests/perf/multi_mesh_selection/A3 | 54 +- tests/perf/multi_mesh_selection/A4 | 58 +- tests/perf/multi_mesh_selection/A5 | 58 +- tests/perf/multi_mesh_selection/A6 | 58 +- tests/perf/multi_mesh_selection/A7 | 56 +- tests/perf/multi_mesh_selection/A8 | 56 +- tests/perf/multi_mesh_selection/A9 | 56 +- tests/perf/multi_mesh_selection/B1 | 56 +- tests/perf/multi_mesh_selection/B2 | 56 +- tests/perf/multi_mesh_selection/B3 | 56 +- tests/perf/multi_mesh_selection/B4 | 56 +- tests/perf/multi_mesh_selection/B5 | 56 +- tests/perf/multi_mesh_selection/B6 | 56 +- tests/perf/multi_mesh_selection/B7 | 56 +- tests/perf/multi_mesh_shading/begin | 56 +- tests/perf/multi_mesh_shrink/begin | 54 +- tests/perf/multi_mesh_wireframe/begin | 54 +- tests/perf/single_mesh_selection/A1 | 2 +- tests/perf/single_mesh_selection/A2 | 2 +- tests/perf/single_mesh_selection/A3 | 2 +- tests/perf/single_mesh_selection/A4 | 6 +- tests/perf/single_mesh_selection/A5 | 6 +- tests/perf/single_mesh_selection/A6 | 6 +- tests/perf/single_mesh_selection/A7 | 4 +- tests/perf/single_mesh_selection/A8 | 4 +- tests/perf/single_mesh_selection/A9 | 4 +- tests/perf/single_mesh_selection/B1 | 4 +- tests/perf/single_mesh_selection/B2 | 4 +- tests/perf/single_mesh_selection/B3 | 4 +- tests/perf/single_mesh_selection/B4 | 4 +- tests/perf/single_mesh_selection/B5 | 4 +- tests/perf/single_mesh_selection/B6 | 4 +- tests/perf/single_mesh_selection/B7 | 4 +- tests/perf/single_mesh_shading/begin | 2 +- tests/perf/single_mesh_shrink/begin | 2 +- tests/perf/single_mesh_wireframe/begin | 2 +- tests/v3d/end | 6 +- tests/v3d/mesh/A1 | 11 + tests/v3d/mesh/A2 | 10 + tests/v3d/mesh/A3 | 6 + tests/v3d/mesh/A4 | 7 + tests/v3d/mesh/A5 | 9 + tests/v3d/mesh/A6 | 10 + tests/v3d/mesh/A7 | 11 + tests/v3d/mesh/A8 | 4 + tests/v3d/mesh/B1 | 11 + tests/v3d/mesh/B2 | 9 + tests/v3d/mesh/B3 | 9 + tests/v3d/mesh/B4 | 8 + tests/v3d/mesh/B5 | 9 + tests/v3d/mesh/B6 | 10 + tests/v3d/mesh/B7 | 13 + tests/v3d/mesh/B8 | 7 + tests/v3d/mesh/begin | 3 + 75 files changed, 1718 insertions(+), 875 deletions(-) create mode 100644 src/XSDRAWSTLVRML/XSDRAWSTLVRML_DataSource3D.cdl create mode 100644 src/XSDRAWSTLVRML/XSDRAWSTLVRML_DataSource3D.cxx create mode 100644 tests/v3d/mesh/A1 create mode 100644 tests/v3d/mesh/A2 create mode 100644 tests/v3d/mesh/A3 create mode 100644 tests/v3d/mesh/A4 create mode 100644 tests/v3d/mesh/A5 create mode 100644 tests/v3d/mesh/A6 create mode 100644 tests/v3d/mesh/A7 create mode 100644 tests/v3d/mesh/A8 create mode 100644 tests/v3d/mesh/B1 create mode 100644 tests/v3d/mesh/B2 create mode 100644 tests/v3d/mesh/B3 create mode 100644 tests/v3d/mesh/B4 create mode 100644 tests/v3d/mesh/B5 create mode 100644 tests/v3d/mesh/B6 create mode 100644 tests/v3d/mesh/B7 create mode 100644 tests/v3d/mesh/B8 create mode 100644 tests/v3d/mesh/begin diff --git a/src/MeshVS/MeshVS_ElementalColorPrsBuilder.cxx b/src/MeshVS/MeshVS_ElementalColorPrsBuilder.cxx index 5206f9fef0..28e677aa84 100644 --- a/src/MeshVS/MeshVS_ElementalColorPrsBuilder.cxx +++ b/src/MeshVS/MeshVS_ElementalColorPrsBuilder.cxx @@ -289,10 +289,7 @@ void MeshVS_ElementalColorPrsBuilder::Build ( const Handle(Prs3d_Presentation)& aNbEdgePrimitives += aFaceNodes.Length(); } - if (IsReflect) // add volumetric cell triangles - { - aNbVolmPrimitives += aFaceNodes.Length() - 2; - } + aNbVolmPrimitives += aFaceNodes.Length() - 2; } } } diff --git a/src/MeshVS/MeshVS_Mesh.cxx b/src/MeshVS/MeshVS_Mesh.cxx index 65f7561e6e..5208ecc941 100644 --- a/src/MeshVS/MeshVS_Mesh.cxx +++ b/src/MeshVS/MeshVS_Mesh.cxx @@ -326,7 +326,7 @@ void MeshVS_Mesh::ComputeSelection ( const Handle(SelectMgr_Selection)& theSelec TColStd_MapIteratorOfPackedMapOfInteger anIterN( anAllNodesMap ); for( ; anIterN.More(); anIterN.Next() ) if( myDataSource->GetGeom( anIterN.Key(), Standard_False, aCoords, NbNodes, aType ) && - !IsHiddenNode( anIterN.Key() ) ) + IsSelectableNode( anIterN.Key() ) ) theSelection->Add( new Select3D_SensitivePoint( myWholeMeshOwner, gp_Pnt ( aCoords(1), aCoords(2), aCoords(3) ) ) ); } break; diff --git a/src/SelectMgr/SelectMgr_SelectableObject.cxx b/src/SelectMgr/SelectMgr_SelectableObject.cxx index 7b48df1634..764306e481 100644 --- a/src/SelectMgr/SelectMgr_SelectableObject.cxx +++ b/src/SelectMgr/SelectMgr_SelectableObject.cxx @@ -224,7 +224,7 @@ void SelectMgr_SelectableObject::UpdateTransformations(const Handle(SelectMgr_Se Handle(Select3D_SensitiveEntity) SE; if(aSelfLocation.IsIdentity()) return; for(Sel->Init();Sel->More();Sel->Next()){ - SE = *((Handle(Select3D_SensitiveEntity)*) &(Sel->Sensitive())); + SE = Handle(Select3D_SensitiveEntity)::DownCast(Sel->Sensitive()); if(!SE.IsNull()){ SE->UpdateLocation(aSelfLocation); const Handle(SelectBasics_EntityOwner)& aEOwner = SE->OwnerId(); diff --git a/src/ViewerTest/ViewerTest_ObjectCommands.cxx b/src/ViewerTest/ViewerTest_ObjectCommands.cxx index 7c27d41705..02202bd42c 100644 --- a/src/ViewerTest/ViewerTest_ObjectCommands.cxx +++ b/src/ViewerTest/ViewerTest_ObjectCommands.cxx @@ -4001,7 +4001,7 @@ static Standard_Integer VSetSelectionMode (Draw_Interpretor& /*di*/, Handle(AIS_InteractiveContext) anAISContext = ViewerTest::GetAISContext(); if (anAISContext.IsNull()) { - std::cerr << "Call vinit before!\n"; + std::cerr << "Call vinit before!" << std::endl; return 1; } @@ -4009,7 +4009,7 @@ static Standard_Integer VSetSelectionMode (Draw_Interpretor& /*di*/, if (theArgc != 3 && theArgc != 4) { std::cerr << "vselmode error : expects at least 2 arguments.\n" - << "Type help "<< theArgv[0] <<" for more information."; + << "Type help "<< theArgv[0] <<" for more information." << std::endl; return 1; } @@ -4028,7 +4028,7 @@ static Standard_Integer VSetSelectionMode (Draw_Interpretor& /*di*/, Handle(AIS_InteractiveObject) anIO = Handle(AIS_InteractiveObject)::DownCast (GetMapOfAIS().Find2 (aNameIO)); if (anIO.IsNull()) { - std::cerr << "vselmode error : object name is used for non AIS viewer\n"; + std::cerr << "vselmode error : object name is used for non AIS viewer" << std::endl; return 1; } aTargetIOs.Append (anIO); @@ -4042,6 +4042,32 @@ static Standard_Integer VSetSelectionMode (Draw_Interpretor& /*di*/, anAISContext->CloseLocalContext(); } + if (aSelectionMode == 0) + { + if (toTurnOn) + { + for (AIS_ListIteratorOfListOfInteractive aTargetIt (aTargetIOs); aTargetIt.More(); aTargetIt.Next()) + { + const Handle(AIS_InteractiveObject)& anIO = aTargetIt.Value(); + if (!InList (anAISContext, anIO, aSelectionMode)) + { + anAISContext->Activate (anIO); + } + } + } + else + { + for (AIS_ListIteratorOfListOfInteractive aTargetIt (aTargetIOs); aTargetIt.More(); aTargetIt.Next()) + { + const Handle(AIS_InteractiveObject)& anIO = aTargetIt.Value(); + if (InList (anAISContext, anIO, aSelectionMode)) + { + anAISContext->Deactivate (anIO); + } + } + } + } + if (aSelectionMode != 0 && toTurnOn) // Turn on specified mode { if (!anAISContext->HasOpenedContext()) diff --git a/src/XSDRAWSTLVRML/XSDRAWSTLVRML.cdl b/src/XSDRAWSTLVRML/XSDRAWSTLVRML.cdl index 68989ba584..9ca171bf9e 100644 --- a/src/XSDRAWSTLVRML/XSDRAWSTLVRML.cdl +++ b/src/XSDRAWSTLVRML/XSDRAWSTLVRML.cdl @@ -23,6 +23,8 @@ is class DataSource; + class DataSource3D; + class DrawableMesh; class ElemNodesMap instantiates DataMap from TCollection diff --git a/src/XSDRAWSTLVRML/XSDRAWSTLVRML.cxx b/src/XSDRAWSTLVRML/XSDRAWSTLVRML.cxx index 1ed67803b1..6ec784a1f1 100644 --- a/src/XSDRAWSTLVRML/XSDRAWSTLVRML.cxx +++ b/src/XSDRAWSTLVRML/XSDRAWSTLVRML.cxx @@ -54,11 +54,15 @@ #include #include #include - -#include -#include #include #include +#include +#include + +#include +#include +#include + #include #include #include @@ -81,16 +85,20 @@ #include #endif +extern Standard_Boolean VDisplayAISObject (const TCollection_AsciiString& theName, + const Handle(AIS_InteractiveObject)& theAISObj, + Standard_Boolean theReplaceIfExists = Standard_True); + static Standard_Integer writestl (Draw_Interpretor& di, Standard_Integer argc, const char** argv) { if (argc < 3 || argc > 5) { - di << "Use: " << argv[0] - << " shape file [ascii/binary (0/1) : 1 by default] [InParallel (0/1) : 0 by default]" << "\n"; + di << "Use: " << argv[0] + << " shape file [ascii/binary (0/1) : 1 by default] [InParallel (0/1) : 0 by default]" << "\n"; } else { TopoDS_Shape aShape = DBRep::Get(argv[1]); Standard_Boolean isASCIIMode = Standard_False; - Standard_Boolean isInParallel = Standard_False; + Standard_Boolean isInParallel = Standard_False; if (argc > 3) { isASCIIMode = (Draw::Atoi(argv[3]) == 0); if (argc > 4) @@ -108,9 +116,9 @@ static Standard_Integer readstl { if (argc<3) di << "wrong number of parameters" << "\n"; else { - TopoDS_Shape shape ; - StlAPI::Read(shape,argv[2]); - DBRep::Set(argv[1],shape); + TopoDS_Shape aShape ; + StlAPI::Read(aShape,argv[2]); + DBRep::Set(argv[1],aShape); } return 0; } @@ -120,7 +128,7 @@ static Standard_Integer writevrml { if (argc<3) di << "wrong number of parameters" << "\n"; else { - TopoDS_Shape shape = DBRep::Get(argv[1]); + TopoDS_Shape aShape = DBRep::Get(argv[1]); // VrmlAPI_Writer writer; // writer.SetTransparencyToMaterial(writer.GetFrontMaterial(),0.0); // Quantity_Color color; @@ -131,7 +139,7 @@ static Standard_Integer writevrml // writer.SetRepresentation(VrmlAPI_ShadedRepresentation); // writer.SetDeflection(0.01); // writer.Write(shape, argv[2]); - VrmlAPI::Write(shape, argv[2]); + VrmlAPI::Write(aShape, argv[2]); } return 0; } @@ -146,40 +154,40 @@ static Standard_Integer loadvrml { if (argc<3) di << "wrong number of parameters" << "\n"; else { - TopoDS_Shape shape ; - VrmlData_DataMapOfShapeAppearance ShapeAppMap; + TopoDS_Shape aShape ; + VrmlData_DataMapOfShapeAppearance aShapeAppMap; //----------------------------------------------------------- - filebuf fic; - istream aStream (&fic); + filebuf aFic; + istream aStream (&aFic); - if (fic.open(argv[2], ios::in)) { + if (aFic.open(argv[2], ios::in)) { // Get path of the VRML file. - OSD_Path path(argv[2]); - TCollection_AsciiString vrmlDir("."); - TCollection_AsciiString disk = path.Disk(); - TCollection_AsciiString trek = path.Trek(); - if (!trek.IsEmpty()) + OSD_Path aPath(argv[2]); + TCollection_AsciiString aVrmlDir("."); + TCollection_AsciiString aDisk = aPath.Disk(); + TCollection_AsciiString aTrek = aPath.Trek(); + if (!aTrek.IsEmpty()) { - if (!disk.IsEmpty()) - vrmlDir = disk; + if (!aDisk.IsEmpty()) + aVrmlDir = aDisk; else - vrmlDir.Clear(); - trek.ChangeAll('|', '/'); - vrmlDir += trek; + aVrmlDir.Clear(); + aTrek.ChangeAll('|', '/'); + aVrmlDir += aTrek; } VrmlData_Scene aScene; - aScene.SetVrmlDir (vrmlDir); + aScene.SetVrmlDir (aVrmlDir); aScene << aStream; const char * aStr = 0L; switch (aScene.Status()) { case VrmlData_StatusOK: { - shape = aScene.GetShape(ShapeAppMap); + aShape = aScene.GetShape(aShapeAppMap); break; } case VrmlData_EmptyData: aStr = "EmptyData"; break; @@ -207,7 +215,7 @@ static Standard_Integer loadvrml << aScene.GetLineError() << "\n"; } else { - DBRep::Set(argv[1],shape); + DBRep::Set(argv[1],aShape); } } else { @@ -233,26 +241,26 @@ static Standard_Integer storevrml di << "use: storevrml shape file defl type_of_conversion (0, 1, 2)" << "\n"; } else { - TopoDS_Shape shape = DBRep::Get(argv[1]); - Standard_Real defl = Draw::Atof(argv[3]); - Standard_Integer type = 1; - if(argc > 4) type = Draw::Atoi(argv[4]); - type = Max(0, type); - type = Min(2, type); + TopoDS_Shape aShape = DBRep::Get(argv[1]); + Standard_Real aDefl = Draw::Atof(argv[3]); + Standard_Integer aType = 1; + if(argc > 4) aType = Draw::Atoi(argv[4]); + aType = Max(0, aType); + aType = Min(2, aType); - Standard_Boolean ExtFace = Standard_False; - if(type == 0 || type == 2) ExtFace = Standard_True; - Standard_Boolean ExtEdge = Standard_False; - if(type == 1 || type == 2) ExtEdge = Standard_True; + Standard_Boolean anExtFace = Standard_False; + if(aType == 0 || aType == 2) anExtFace = Standard_True; + Standard_Boolean anExtEdge = Standard_False; + if(aType == 1 || aType == 2) anExtEdge = Standard_True; VrmlData_Scene aScene; - VrmlData_ShapeConvert Conv(aScene); - Conv.AddShape(shape); - Conv.Convert(ExtFace, ExtEdge, defl); + VrmlData_ShapeConvert aConv(aScene); + aConv.AddShape(aShape); + aConv.Convert(anExtFace, anExtEdge, aDefl); - filebuf foc; - ostream outStream (&foc); - if (foc.open (argv[2], ios::out)) + filebuf aFoc; + ostream outStream (&aFoc); + if (aFoc.open (argv[2], ios::out)) outStream << aScene; } return 0; @@ -263,11 +271,18 @@ static Standard_Integer storevrml static Standard_Integer createmesh (Draw_Interpretor& di, Standard_Integer argc, const char** argv ) { - if (argc<3) { + di << "Wrong number of parameters" << "\n"; di << "Use: " << argv[0] << " " << "\n"; - return 1; + return 0; + } + + Handle(AIS_InteractiveContext) aContext = ViewerTest::GetAISContext(); + if (aContext.IsNull()) + { + di << "No active view. Please call 'vinit' first" << "\n"; + return 0; } // Progress indicator @@ -283,53 +298,79 @@ static Standard_Integer createmesh aMesh->SetDataSource( aDS ); aMesh->AddBuilder( new MeshVS_MeshPrsBuilder( aMesh.operator->() ), Standard_True ); - // Prepare triangle labels - MeshVS_DataMapOfIntegerAsciiString aLabels; - Standard_Integer anIndex = 1, aLen = aSTLMesh->Triangles().Length(); - for ( ; anIndex <= aLen; anIndex++ ){ - aLabels.Bind( anIndex, TCollection_AsciiString( anIndex ) ); - } - Handle(MeshVS_TextPrsBuilder) aTextBuilder = new MeshVS_TextPrsBuilder( aMesh.operator->(), 20., Quantity_NOC_YELLOW ); - aTextBuilder->SetTexts( Standard_True, aLabels ); - aMesh->AddBuilder( aTextBuilder ); + aMesh->GetDrawer()->SetColor( MeshVS_DA_EdgeColor, Quantity_NOC_YELLOW ); // Hide all nodes by default Handle(TColStd_HPackedMapOfInteger) aNodes = new TColStd_HPackedMapOfInteger(); - aLen = aSTLMesh->Vertices().Length(); - for ( anIndex = 1; anIndex <= aLen; anIndex++ ) + Standard_Integer aLen = aSTLMesh->Vertices().Length(); + for ( Standard_Integer anIndex = 1; anIndex <= aLen; anIndex++ ) aNodes->ChangeMap().Add( anIndex ); aMesh->SetHiddenNodes( aNodes ); + aMesh->SetSelectableNodes ( aNodes ); - Handle( AIS_InteractiveContext ) aContext = ViewerTest::GetAISContext(); - - if ( aContext.IsNull() ) - { - ViewerTest::ViewerInit(); - //To create a 3D view if it doesn't exist - aContext = ViewerTest::GetAISContext(); - if( aContext.IsNull() ) - { - di << "Cannot create 3D view" << "\n"; - return 0; - } - } - - aContext->Display( aMesh ); + VDisplayAISObject(argv[1], aMesh); aContext->Deactivate( aMesh ); Draw::Set( argv[1], new XSDRAWSTLVRML_DrawableMesh( aMesh ) ); - Handle( V3d_View ) V = ViewerTest::CurrentView(); - if ( !V.IsNull() ) - V->FitAll(); + Handle( V3d_View ) aView = ViewerTest::CurrentView(); + if ( !aView.IsNull() ) + aView->FitAll(); return 0; } //----------------------------------------------------------------------------- -Handle( MeshVS_Mesh ) getMesh( const char* name, Draw_Interpretor& di) + +static Standard_Integer create3d +(Draw_Interpretor& di, Standard_Integer argc, const char** argv ) +{ + if (argc<2) + { + di << "Wrong number of parameters" << "\n"; + di << "Use: " << argv[0] << " " << "\n"; + return 0; + } + + Handle(AIS_InteractiveContext) aContext = ViewerTest::GetAISContext(); + if (aContext.IsNull()) + { + di << "No active view. Please call 'vinit' first" << "\n"; + return 0; + } + + Handle( XSDRAWSTLVRML_DataSource3D ) aDS = new XSDRAWSTLVRML_DataSource3D(); + di << "Data source is created successful" << "\n"; + Handle( MeshVS_Mesh ) aMesh = new MeshVS_Mesh(); + di << "MeshVS_Mesh is created successful" << "\n"; + + aMesh->SetDataSource( aDS ); + aMesh->AddBuilder( new MeshVS_MeshPrsBuilder( aMesh.operator->() ), Standard_True ); + + aMesh->GetDrawer()->SetColor( MeshVS_DA_EdgeColor, Quantity_NOC_YELLOW ); + + // Hide all nodes by default + Handle(TColStd_HPackedMapOfInteger) aNodes = new TColStd_HPackedMapOfInteger(); + Standard_Integer aLen = aDS->GetAllNodes().Extent(); + for ( Standard_Integer anIndex = 1; anIndex <= aLen; anIndex++ ) + aNodes->ChangeMap().Add( anIndex ); + aMesh->SetHiddenNodes( aNodes ); + aMesh->SetSelectableNodes ( aNodes ); + + VDisplayAISObject(argv[1], aMesh); + aContext->Deactivate( aMesh ); + + Draw::Set( argv[1], new XSDRAWSTLVRML_DrawableMesh( aMesh ) ); + Handle( V3d_View ) aView = ViewerTest::CurrentView(); + if ( !aView.IsNull() ) + aView->FitAll(); + + return 0; +} + +Handle( MeshVS_Mesh ) getMesh( const char* theName, Draw_Interpretor& di) { Handle( XSDRAWSTLVRML_DrawableMesh ) aDrawMesh = - Handle( XSDRAWSTLVRML_DrawableMesh )::DownCast( Draw::Get( name ) ); + Handle( XSDRAWSTLVRML_DrawableMesh )::DownCast( Draw::Get( theName ) ); if( aDrawMesh.IsNull() ) { @@ -348,110 +389,23 @@ Handle( MeshVS_Mesh ) getMesh( const char* name, Draw_Interpretor& di) return aMesh; } } -//----------------------------------------------------------------------------- -static Standard_Integer meshdm -(Draw_Interpretor& di, Standard_Integer argc, const char** argv ) -{ - if (argc<3) - di << "wrong number of parameters" << "\n"; - else - { - Handle( MeshVS_Mesh ) aMesh = getMesh( argv[1], di ); - if( !aMesh.IsNull() ) - { - Standard_Integer DisplayMode = Draw::Atoi (argv[2]); - Handle( AIS_InteractiveContext ) aContext = ViewerTest::GetAISContext(); - - if( aContext.IsNull() ) - di << "The context is null" << "\n"; - else - { - Standard_Boolean HasLocal = aContext->HasOpenedContext(); - if( HasLocal ) - aContext->CloseLocalContext(); - - aContext->SetDisplayMode( aMesh, DisplayMode ); - di << "Setting display mode: " << DisplayMode << "\n"; - - if( HasLocal ) - aContext->OpenLocalContext(); - } - } - } - return 0; -} -//----------------------------------------------------------------------------- -static Standard_Integer meshsm -(Draw_Interpretor& di, Standard_Integer argc, const char** argv ) -{ - if (argc<3) - di << "wrong number of parameters" << "\n"; - else - { - Handle( MeshVS_Mesh ) aMesh = getMesh( argv[1], di ); - if( !aMesh.IsNull() ) - { - Standard_Integer SelMode = Draw::Atoi (argv[2]); - - Handle( AIS_InteractiveContext ) aContext = ViewerTest::GetAISContext(); - - if( aContext.IsNull() ) - di << "The context is null" << "\n"; - else - { - if( !aContext->HasOpenedContext() ) - aContext->OpenLocalContext(); - - aContext->Load( aMesh, -1 ); - - if( SelMode==-1 ) - aContext->CloseAllContexts(); - - else if( SelMode==0 ) - aContext->Activate( aMesh, 0 ); - - else if( SelMode>0 ) - { - aContext->Deactivate( aMesh, 0 ); - - if( SelMode & 1 ) - aContext->Activate( aMesh, 1 ); - else - aContext->Deactivate( aMesh, 1 ); - - if( SelMode & 4 ) - aContext->Activate( aMesh, 4 ); - else - aContext->Deactivate( aMesh, 4 ); - - if( SelMode & 8 ) - aContext->Activate( aMesh, 8 ); - else - aContext->Deactivate( aMesh, 8 ); - } - - di << "Setting selection mode: " << SelMode << "\n"; - } - } - } - return 0; -} //----------------------------------------------------------------------------- static Standard_Integer setcolor -(Draw_Interpretor& di, Standard_Integer argc, const char** argv, Standard_Integer Param ) +(Draw_Interpretor& di, Standard_Integer argc, const char** argv, Standard_Integer theParam ) { if (argc<5) - di << "wrong number of parameters" << "\n"; + di << "Wrong number of parameters" << "\n"; else { Handle( MeshVS_Mesh ) aMesh = getMesh( argv[1], di ); if( !aMesh.IsNull() ) { - Standard_Real r = Draw::Atof (argv[2]); - Standard_Real g = Draw::Atof (argv[3]); - Standard_Real b = Draw::Atof (argv[4]); - aMesh->GetDrawer()->SetColor( (MeshVS_DrawerAttribute)Param, Quantity_Color( r, g, b, Quantity_TOC_RGB ) ); + Standard_Real aRed = Draw::Atof (argv[2]); + Standard_Real aGreen = Draw::Atof (argv[3]); + Standard_Real aBlue = Draw::Atof (argv[4]); + aMesh->GetDrawer()->SetColor( (MeshVS_DrawerAttribute)theParam, + Quantity_Color( aRed, aGreen, aBlue, Quantity_TOC_RGB ) ); Handle( AIS_InteractiveContext ) aContext = ViewerTest::GetAISContext(); @@ -465,32 +419,37 @@ static Standard_Integer setcolor } //----------------------------------------------------------------------------- static Standard_Integer meshcolor -(Draw_Interpretor& interp, Standard_Integer argc, const char** argv ) +(Draw_Interpretor& theInterp, Standard_Integer argc, const char** argv ) { - return setcolor( interp, argc, argv, MeshVS_DA_InteriorColor ); + return setcolor( theInterp, argc, argv, MeshVS_DA_InteriorColor ); } //----------------------------------------------------------------------------- static Standard_Integer linecolor -(Draw_Interpretor& interp, Standard_Integer argc, const char** argv ) +(Draw_Interpretor& theInterp, Standard_Integer argc, const char** argv ) { - return setcolor( interp, argc, argv, MeshVS_DA_EdgeColor ); + return setcolor( theInterp, argc, argv, MeshVS_DA_EdgeColor ); } //----------------------------------------------------------------------------- static Standard_Integer meshmat (Draw_Interpretor& di, Standard_Integer argc, const char** argv ) { if (argc<3) - di << "wrong number of parameters" << "\n"; + di << "Wrong number of parameters" << "\n"; else { Handle( MeshVS_Mesh ) aMesh = getMesh( argv[1], di ); if( !aMesh.IsNull() ) { - Standard_Integer mat = Draw::Atoi (argv[2]); + Standard_Integer aMaterial = Draw::Atoi (argv[2]); Graphic3d_MaterialAspect aMatAsp = - (Graphic3d_MaterialAspect)(Graphic3d_NameOfMaterial)mat; + (Graphic3d_MaterialAspect)(Graphic3d_NameOfMaterial)aMaterial; + if (argc == 4) + { + Standard_Real aTransparency = Draw::Atof(argv[3]); + aMatAsp.SetTransparency(aTransparency); + } aMesh->GetDrawer()->SetMaterial( MeshVS_DA_FrontMaterial, aMatAsp ); aMesh->GetDrawer()->SetMaterial( MeshVS_DA_BackMaterial, aMatAsp ); @@ -509,14 +468,14 @@ static Standard_Integer shrink (Draw_Interpretor& di, Standard_Integer argc, const char** argv ) { if (argc<3) - di << "wrong number of parameters" << "\n"; + di << "Wrong number of parameters" << "\n"; else { Handle( MeshVS_Mesh ) aMesh = getMesh( argv[1], di ); if( !aMesh.IsNull() ) { - Standard_Real sh = Draw::Atof (argv[2]); - aMesh->GetDrawer()->SetDouble( MeshVS_DA_ShrinkCoeff, sh ); + Standard_Real aShrinkCoeff = Draw::Atof (argv[2]); + aMesh->GetDrawer()->SetDouble( MeshVS_DA_ShrinkCoeff, aShrinkCoeff ); Handle( AIS_InteractiveContext ) aContext = ViewerTest::GetAISContext(); @@ -534,7 +493,7 @@ static Standard_Integer mdisplay (Draw_Interpretor& di, Standard_Integer argc, const char** argv ) { if (argc<2) - di << "wrong number of parameters" << "\n"; + di << "Wrong number of parameters" << "\n"; else { Handle( MeshVS_Mesh ) aMesh = getMesh( argv[1], di ); @@ -560,7 +519,7 @@ static Standard_Integer merase (Draw_Interpretor& di, Standard_Integer argc, const char** argv ) { if (argc<2) - di << "wrong number of parameters" << "\n"; + di << "Wrong number of parameters" << "\n"; else { Handle( MeshVS_Mesh ) aMesh = getMesh( argv[1], di ); @@ -587,13 +546,13 @@ static Standard_Integer merase static Standard_Integer hidesel (Draw_Interpretor& di, Standard_Integer argc, const char** argv ) { - if (argc<1) + if (argc<2) { - di << "wrong number of parameters" << "\n"; + di << "Wrong number of parameters" << "\n"; + di << "Use: " << argv[0] << " " << "\n"; return 0; } - Handle( AIS_InteractiveContext ) aContext = ViewerTest::GetAISContext(); Handle( MeshVS_Mesh ) aMesh = getMesh( argv[1], di ); if( aMesh.IsNull() ) @@ -607,7 +566,15 @@ static Standard_Integer hidesel else { Handle(TColStd_HPackedMapOfInteger) aHiddenNodes = aMesh->GetHiddenNodes(); + if (aHiddenNodes.IsNull()) + { + aHiddenNodes = new TColStd_HPackedMapOfInteger(); + } Handle(TColStd_HPackedMapOfInteger) aHiddenElements = aMesh->GetHiddenElems(); + if (aHiddenElements.IsNull()) + { + aHiddenElements = new TColStd_HPackedMapOfInteger(); + } for( aContext->InitSelected(); aContext->MoreSelected(); aContext->NextSelected() ) { Handle( MeshVS_MeshEntityOwner ) anOwner = @@ -636,9 +603,10 @@ static Standard_Integer hidesel static Standard_Integer showonly (Draw_Interpretor& di, Standard_Integer argc, const char** argv ) { - if (argc<1) + if (argc<2) { - di << "wrong number of parameters" << "\n"; + di << "Wrong number of parameters" << "\n"; + di << "Use: " << argv[0] << " " << "\n"; return 0; } @@ -665,7 +633,7 @@ static Standard_Integer showonly Handle( MeshVS_MeshEntityOwner )::DownCast( aContext->SelectedOwner() ); if( !anOwner.IsNull() ) { - if( anOwner->Type()==MeshVS_ET_Node ) + if( anOwner->Type() == MeshVS_ET_Node ) { aHiddenNodes->ChangeMap().Remove( anOwner->ID() ); } @@ -686,9 +654,10 @@ static Standard_Integer showonly static Standard_Integer showall (Draw_Interpretor& di, Standard_Integer argc, const char** argv ) { - if (argc<1) + if (argc<2) { - di << "wrong number of parameters" << "\n"; + di << "Wrong number of parameters" << "\n"; + di << "Use: " << argv[0] << " " << "\n"; return 0; } @@ -704,52 +673,15 @@ static Standard_Integer showall di << "The context is null" << "\n"; else { - aMesh->SetHiddenNodes( 0 ); - aMesh->SetHiddenElems( 0 ); + aMesh->SetHiddenNodes( new TColStd_HPackedMapOfInteger() ); + aMesh->SetHiddenElems( new TColStd_HPackedMapOfInteger() ); aContext->Redisplay( aMesh ); } return 0; } + //----------------------------------------------------------------------------- -static Standard_Integer delmesh -(Draw_Interpretor& di, Standard_Integer argc, const char** argv ) -{ - if (argc<2) - { - di << "wrong number of parameters" << "\n"; - return 0; - } - - Handle( MeshVS_Mesh ) aMesh = getMesh( argv[1], di ); - - if( aMesh.IsNull() ) - { - di << "The mesh is invalid" << "\n"; - return 0; - } - else - { - Handle( AIS_InteractiveContext ) aContext = ViewerTest::GetAISContext(); - - aContext->ClearSelected(); - - if( aContext->HasOpenedContext() ) - aContext->CloseAllContexts(); - - aContext->Remove( aMesh ); - aContext->SelectionManager()->Remove( aMesh ); - aMesh->ClearSelections(); - aContext->MainSelector()->Clear(); - - Draw::Set( argv[1], Handle(XSDRAWSTLVRML_DrawableMesh)() ); - - Standard::Purge(); - } - return 0; -} -//----------------------------------------------------------------------------- - static Standard_Integer meshcolors( Draw_Interpretor& di, Standard_Integer argc, const char** argv ) @@ -757,9 +689,10 @@ static Standard_Integer meshcolors( Draw_Interpretor& di, try { OCC_CATCH_SIGNALS - if ( argc < 2 ) + if ( argc < 4 ) { - di << "Use : meshcolors meshname mode isreflect" << "\n"; + di << "Wrong number of parameters" << "\n"; + di << "Use : meshcolors " << "\n"; di << "mode : {elem1|elem2|nodal|nodaltex|none}"<< "\n"; di << " elem1 - different color for each element" << "\n"; di << " elem2 - one color for one side"<<"\n"; @@ -792,9 +725,9 @@ static Standard_Integer meshcolors( Draw_Interpretor& di, if( aMode.IsEqual("elem1") || aMode.IsEqual("elem2") || aMode.IsEqual("nodal") || aMode.IsEqual("nodaltex") || aMode.IsEqual("none") ) { Handle(MeshVS_PrsBuilder) aTempBuilder; - Standard_Integer reflection = Draw::Atoi(argv[3]); + Standard_Integer aReflection = Draw::Atoi(argv[3]); - for (int count = 0 ; count < aMesh->GetBuildersCount(); count++ ){ + for (Standard_Integer aCount = 0 ; aCount < aMesh->GetBuildersCount(); aCount++ ){ aTempBuilder = Handle(MeshVS_PrsBuilder)::DownCast(aMesh->FindBuilder("MeshVS_ElementalColorPrsBuilder")); if( !aTempBuilder.IsNull()) aMesh->RemoveBuilderById(aTempBuilder->GetId()); @@ -906,7 +839,7 @@ static Standard_Integer meshcolors( Draw_Interpretor& di, aViewer->ActiveView()->SetSurfaceDetail(V3d_TEX_ALL); } - aMesh->GetDrawer()->SetBoolean ( MeshVS_DA_ColorReflection, Standard_Boolean(reflection) ); + aMesh->GetDrawer()->SetBoolean ( MeshVS_DA_ColorReflection, Standard_Boolean(aReflection) ); anIC->Redisplay( aMesh ); } @@ -925,6 +858,255 @@ static Standard_Integer meshcolors( Draw_Interpretor& di, return 0; } //----------------------------------------------------------------------------- +static Standard_Integer meshvectors( Draw_Interpretor& di, + Standard_Integer argc, + const char** argv ) +{ + if ( argc < 3 ) + { + di << "Wrong number of parameters" << "\n"; + di << "Use : meshvectors < -mode {elem|nodal|none} > [-maxlen len] [-color name] [-arrowpart ratio] [-issimple {1|0}]" << "\n"; + di << "Supported mode values:"<< "\n"; + di << " elem - vector per element" << "\n"; + di << " nodal - vector per node"<< "\n"; + di << " none - clear"<< "\n"; + + return 0; + } + + Handle( MeshVS_Mesh ) aMesh = getMesh( argv[ 1 ], di ); + + if ( aMesh.IsNull() ) + { + di << "Mesh not found" << "\n"; + return 0; + } + Handle(AIS_InteractiveContext) anIC = ViewerTest::GetAISContext(); + if ( anIC.IsNull() ) + { + di << "The context is null" << "\n"; + return 0; + } + + TCollection_AsciiString aParam; + TCollection_AsciiString aMode("none"); + Standard_Real aMaxlen(1.0); + Quantity_Color aColor(Quantity_NOC_ORANGE); + Standard_Real anArrowPart(0.1); + Standard_Boolean isSimplePrs(Standard_False); + + for (Standard_Integer anIdx = 2; anIdx < argc; anIdx++) + { + if (!aParam.IsEmpty()) + { + if (aParam == "-mode") + { + aMode = argv[anIdx]; + } + else if (aParam == "-maxlen") + { + aMaxlen = Draw::Atof(argv[anIdx]); + } + else if (aParam == "-color") + { + aColor = ViewerTest::GetColorFromName(argv[anIdx]); + } + else if (aParam == "-arrowpart") + { + anArrowPart = Draw::Atof(argv[anIdx]); + } + else if (aParam == "-issimple") + { + isSimplePrs = Draw::Atoi(argv[anIdx]); + } + aParam.Clear(); + } + else if (argv[anIdx][0] == '-') + { + aParam = argv[anIdx]; + } + } + + if( !aMode.IsEqual("elem") && !aMode.IsEqual("nodal") && !aMode.IsEqual("none") ) + { + di << "Wrong mode name" << "\n"; + return 0; + } + + Handle(MeshVS_PrsBuilder) aTempBuilder; + + aTempBuilder = Handle(MeshVS_PrsBuilder)::DownCast(aMesh->FindBuilder("MeshVS_VectorPrsBuilder")); + if( !aTempBuilder.IsNull()) + aMesh->RemoveBuilderById(aTempBuilder->GetId()); + + if( !aMode.IsEqual("none") ) + { + Handle(MeshVS_VectorPrsBuilder) aBuilder = new MeshVS_VectorPrsBuilder( aMesh.operator->(), + aMaxlen, + aColor, + MeshVS_DMF_VectorDataPrs, + 0, + -1, + MeshVS_BP_Vector, + isSimplePrs); + + Standard_Boolean anIsElement = aMode.IsEqual("elem"); + const TColStd_PackedMapOfInteger& anAllIDs = anIsElement ? aMesh->GetDataSource()->GetAllElements() : + aMesh->GetDataSource()->GetAllNodes(); + + Standard_Integer aNbNodes; + MeshVS_EntityType aEntType; + + TColStd_MapIteratorOfPackedMapOfInteger anIter( anAllIDs ); + for ( ; anIter.More(); anIter.Next() ) + { + TColStd_Array1OfReal aCoords(1, 3); + if (anIsElement) + aMesh->GetDataSource()->GetNormal(anIter.Key(), 3, aCoords.ChangeValue(1), aCoords.ChangeValue(2), aCoords.ChangeValue(3)); + else + aMesh->GetDataSource()->GetGeom(anIter.Key(), Standard_False, aCoords, aNbNodes, aEntType); + + gp_Vec aNorm = gp_Vec(aCoords.Value(1), aCoords.Value(2), aCoords.Value(3)); + if( !aNorm.Magnitude() ) + aNorm = gp_Vec(0,0,1); + aBuilder->SetVector(anIsElement, anIter.Key(), aNorm.Normalized()); + } + + aMesh->AddBuilder( aBuilder, Standard_False ); + aMesh->GetDrawer()->SetDouble ( MeshVS_DA_VectorArrowPart, anArrowPart ); + } + + anIC->Redisplay( aMesh ); + + return 0; +} +//----------------------------------------------------------------------------- + +static Standard_Integer meshtext( Draw_Interpretor& di, + Standard_Integer argc, + const char** argv ) +{ + if ( argc < 2 ) + { + di << "Wrong number of parameters" << "\n"; + di << "Use : meshtext " << "\n"; + return 0; + } + + Handle( MeshVS_Mesh ) aMesh = getMesh( argv[ 1 ], di ); + + if ( aMesh.IsNull() ) + { + di << "Mesh not found" << "\n"; + return 0; + } + + Handle(AIS_InteractiveContext) anIC = ViewerTest::GetAISContext(); + if ( anIC.IsNull() ) + { + di << "The context is null" << "\n"; + return 0; + } + + // Prepare triangle labels + MeshVS_DataMapOfIntegerAsciiString aLabels; + Standard_Integer aLen = aMesh->GetDataSource()->GetAllElements().Extent(); + for ( Standard_Integer anIndex = 1; anIndex <= aLen; anIndex++ ){ + aLabels.Bind( anIndex, TCollection_AsciiString( anIndex ) ); + } + + Handle(MeshVS_TextPrsBuilder) aTextBuilder = new MeshVS_TextPrsBuilder( aMesh.operator->(), 20., Quantity_NOC_YELLOW ); + aTextBuilder->SetTexts( Standard_True, aLabels ); + aMesh->AddBuilder( aTextBuilder ); + + return 0; +} + +static Standard_Integer meshdeform( Draw_Interpretor& di, + Standard_Integer argc, + const char** argv ) +{ + if ( argc < 3 ) + { + di << "Wrong number of parameters" << "\n"; + di << "Use : meshdeform < -mode {on|off} > [-scale scalefactor]" << "\n"; + return 0; + } + + Handle( MeshVS_Mesh ) aMesh = getMesh( argv[ 1 ], di ); + + if ( aMesh.IsNull() ) + { + di << "Mesh not found" << "\n"; + return 0; + } + Handle(AIS_InteractiveContext) anIC = ViewerTest::GetAISContext(); + if ( anIC.IsNull() ) + { + di << "The context is null" << "\n"; + return 0; + } + + TCollection_AsciiString aParam; + TCollection_AsciiString aMode("off"); + Standard_Real aScale(1.0); + + for (Standard_Integer anIdx = 2; anIdx < argc; anIdx++) + { + if (!aParam.IsEmpty()) + { + if (aParam == "-mode") + { + aMode = argv[anIdx]; + } + else if (aParam == "-scale") + { + aScale = Draw::Atof(argv[anIdx]); + } + aParam.Clear(); + } + else if (argv[anIdx][0] == '-') + { + aParam = argv[anIdx]; + } + } + + if(!aMode.IsEqual("on") && !aMode.IsEqual("off")) + { + di << "Wrong mode name" << "\n"; + return 0; + } + + Handle ( MeshVS_DeformedDataSource ) aDefDS = + new MeshVS_DeformedDataSource( aMesh->GetDataSource() , aScale ); + + const TColStd_PackedMapOfInteger& anAllIDs = aMesh->GetDataSource()->GetAllNodes(); + + Standard_Integer aNbNodes; + MeshVS_EntityType aEntType; + + TColStd_MapIteratorOfPackedMapOfInteger anIter( anAllIDs ); + for ( ; anIter.More(); anIter.Next() ) + { + TColStd_Array1OfReal aCoords(1, 3); + aMesh->GetDataSource()->GetGeom(anIter.Key(), Standard_False, aCoords, aNbNodes, aEntType); + + gp_Vec aNorm = gp_Vec(aCoords.Value(1), aCoords.Value(2), aCoords.Value(3)); + if( !aNorm.Magnitude() ) + aNorm = gp_Vec(0,0,1); + aDefDS->SetVector(anIter.Key(), aNorm.Normalized()); + } + + aMesh->SetDataSource(aDefDS); + + anIC->Redisplay( aMesh ); + + Handle( V3d_View ) aView = ViewerTest::CurrentView(); + if ( !aView.IsNull() ) + aView->FitAll(); + + return 0; +} static Standard_Integer mesh_edge_width( Draw_Interpretor& di, Standard_Integer argc, @@ -935,7 +1117,8 @@ static Standard_Integer mesh_edge_width( Draw_Interpretor& di, OCC_CATCH_SIGNALS if ( argc < 3 ) { - di << "Wrong number of parameters. Use : mesh_edge_width mesh width" << "\n"; + di << "Wrong number of parameters" << "\n"; + di << "Use : mesh_edge_width " << "\n"; return 0; } @@ -985,13 +1168,18 @@ static Standard_Integer mesh_edge_width( Draw_Interpretor& di, //purpose : //======================================================================= -static Standard_Integer tovrml(Draw_Interpretor& /*di*/, Standard_Integer n, const char** a) +static Standard_Integer tovrml(Draw_Interpretor& di, Standard_Integer argc, const char** argv) { - if (n < 3) return 1; - XSDRAWSTLVRML_ToVRML avrml; - TopoDS_Shape sh = DBRep::Get (a[1]); - const char* filename = a[2]; - if (!avrml.Write (sh,filename)) return 1; + if ( argc < 3 ) + { + di << "Wrong number of parameters" << "\n"; + di << "Use : tovrml " << "\n"; + return 0; + } + XSDRAWSTLVRML_ToVRML aVrml; + TopoDS_Shape aShape = DBRep::Get (argv[1]); + const char* aFilename = argv[2]; + if (!aVrml.Write (aShape,aFilename)) return 1; return 0; } @@ -1009,21 +1197,22 @@ void XSDRAWSTLVRML::InitCommands (Draw_Interpretor& theCommands) theCommands.Add ("loadvrml" , "shape file",__FILE__,loadvrml,g); theCommands.Add ("storevrml" , "shape file defl [type]",__FILE__,storevrml,g); - theCommands.Add ("meshfromstl", "creates MeshVS_Mesh from STL file", __FILE__, createmesh, g ); - theCommands.Add ("meshdispmode", "changes MeshVS_Mesh display mode", __FILE__, meshdm, g ); - theCommands.Add ("meshselmode", "changes MeshVS_Mesh selection mode", __FILE__, meshsm, g ); - theCommands.Add ("meshshadcolor", "change MeshVS_Mesh shading color", __FILE__, meshcolor, g ); - theCommands.Add ("meshlinkcolor", "change MeshVS_Mesh line color", __FILE__, linecolor, g ); - theCommands.Add ("meshmat", "change MeshVS_Mesh material", __FILE__, meshmat, g ); - theCommands.Add ("meshshrcoef", "change MeshVS_Mesh shrink coeff", __FILE__, shrink, g ); - theCommands.Add ("meshshow", "display MeshVS_Mesh object", __FILE__, mdisplay, g ); - theCommands.Add ("meshhide", "erase MeshVS_Mesh object", __FILE__, merase, g ); - theCommands.Add ("meshhidesel", "hide selected entities", __FILE__, hidesel, g ); - theCommands.Add ("meshshowsel", "show only selected entities", __FILE__, showonly, g ); - theCommands.Add ("meshshowall", "show all entities", __FILE__, showall, g ); - theCommands.Add ("meshdelete", "delete MeshVS_Mesh object", __FILE__, delmesh, g ); - theCommands.Add ("meshcolors", "display color presentation", __FILE__, meshcolors, g ); - theCommands.Add ("mesh_edge_width", "set width of edges", __FILE__, mesh_edge_width, g ); + theCommands.Add ("meshfromstl", "creates MeshVS_Mesh from STL file", __FILE__, createmesh, g ); + theCommands.Add ("mesh3delem", "creates 3d element mesh to test", __FILE__, create3d, g ); + theCommands.Add ("meshshadcolor", "change MeshVS_Mesh shading color", __FILE__, meshcolor, g ); + theCommands.Add ("meshlinkcolor", "change MeshVS_Mesh line color", __FILE__, linecolor, g ); + theCommands.Add ("meshmat", "change MeshVS_Mesh material and transparency", __FILE__, meshmat, g ); + theCommands.Add ("meshshrcoef", "change MeshVS_Mesh shrink coeff", __FILE__, shrink, g ); + theCommands.Add ("meshshow", "display MeshVS_Mesh object", __FILE__, mdisplay, g ); + theCommands.Add ("meshhide", "erase MeshVS_Mesh object", __FILE__, merase, g ); + theCommands.Add ("meshhidesel", "hide selected entities", __FILE__, hidesel, g ); + theCommands.Add ("meshshowsel", "show only selected entities", __FILE__, showonly, g ); + theCommands.Add ("meshshowall", "show all entities", __FILE__, showall, g ); + theCommands.Add ("meshcolors", "display color presentation", __FILE__, meshcolors, g ); + theCommands.Add ("meshvectors", "display sample vectors", __FILE__, meshvectors, g ); + theCommands.Add ("meshtext", "display text labels", __FILE__, meshtext, g ); + theCommands.Add ("meshdeform", "display deformed mesh", __FILE__, meshdeform, g ); + theCommands.Add ("mesh_edge_width", "set width of edges", __FILE__, mesh_edge_width, g ); } //============================================================================== diff --git a/src/XSDRAWSTLVRML/XSDRAWSTLVRML_DataSource3D.cdl b/src/XSDRAWSTLVRML/XSDRAWSTLVRML_DataSource3D.cdl new file mode 100644 index 0000000000..e16693c75d --- /dev/null +++ b/src/XSDRAWSTLVRML/XSDRAWSTLVRML_DataSource3D.cdl @@ -0,0 +1,98 @@ +-- Created on: 2014-08-04 +-- Created by: Artem NOVIKOV +-- Copyright (c) 2014 OPEN CASCADE SAS +-- +-- This file is part of Open CASCADE Technology software library. +-- +-- This library is free software; you can redistribute it and/or modify it under +-- the terms of the GNU Lesser General Public License version 2.1 as published +-- by the Free Software Foundation, with special exception defined in the file +-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT +-- distribution for complete text of the license and disclaimer of any warranty. +-- +-- Alternatively, this file may be used under the terms of Open CASCADE +-- commercial license or contractual agreement. + +class DataSource3D from XSDRAWSTLVRML inherits DataSource from MeshVS + + ---Purpose: The sample DataSource3D for working with STLMesh_Mesh + +uses + Mesh from StlMesh, + + Integer from Standard, + Boolean from Standard, + Address from Standard, + + Array1OfReal from TColStd, + Array1OfInteger from TColStd, + SequenceOfInteger from TColStd, + PackedMapOfInteger from TColStd, + + EntityType from MeshVS, + + HArray1OfInteger from TColStd, + HArray2OfInteger from TColStd, + HArray2OfReal from TColStd, + + HArray1OfSequenceOfInteger from MeshVS, + DataMapOfHArray1OfSequenceOfInteger from MeshVS + +is + + Create returns DataSource3D from XSDRAWSTLVRML; + ---Purpose: Constructor + + GetGeom ( me; theID : Integer; + theIsElement : Boolean; + theCoords : out Array1OfReal; + theNbNodes : out Integer; + theType : out EntityType ) returns Boolean; + ---Purpose: Returns geometry information about node ( if IsElement is False ) or element ( IsElement is True ) + -- by co-ordinates. For element this method must return all its nodes co-ordinates in the strict order: X, Y, Z and + -- with nodes order is the same as in wire bounding the face or link. NbNodes is number of nodes of element. + -- It is recommended to return 1 for node. Type is an element type. + + Get3DGeom ( me; theID : Integer; + theNbNodes : out Integer; + theData : out HArray1OfSequenceOfInteger from MeshVS ) returns Boolean is redefined virtual; + ---Purpose: This method returns topology information about 3D-element + -- Returns false if element with ID isn't 3D or because other troubles + + GetGeomType ( me; theID : Integer; + theIsElement : Boolean; + theType : out EntityType ) returns Boolean; + ---Purpose: This method is similar to GetGeom, but returns only element or node type. This method is provided for + -- a fine performance. + + GetAddr ( me; theID : Integer; + theIsElement : Boolean ) returns Address; + ---Purpose: This method returns by number an address of any entity which represents element or node data structure. + + GetNodesByElement ( me; theID : Integer; + theNodeIDs : out Array1OfInteger from TColStd; + theNbNodes : out Integer ) returns Boolean is redefined; + ---Purpose: This method returns information about what node this element consist of. + + GetAllNodes ( me ) returns PackedMapOfInteger; + ---C++: return const & + ---Purpose: This method returns map of all nodes the object consist of. + + GetAllElements ( me ) returns PackedMapOfInteger; + ---C++: return const & + ---Purpose: This method returns map of all elements the object consist of. + + GetNormal ( me; theID : Integer; + theMax : Integer; + theNx, theNy, theNz : out Real ) returns Boolean is redefined virtual; + ---Purpose: This method calculates normal of face, which is using for correct reflection presentation. + -- There is default method, for advance reflection this method can be redefined. + +fields + myNodes : PackedMapOfInteger from TColStd; + myElements : PackedMapOfInteger from TColStd; + myElemNbNodes : HArray1OfInteger from TColStd; + myNodeCoords : HArray2OfReal from TColStd; + myElemNodes : HArray2OfInteger from TColStd; + +end DataSource3D; diff --git a/src/XSDRAWSTLVRML/XSDRAWSTLVRML_DataSource3D.cxx b/src/XSDRAWSTLVRML/XSDRAWSTLVRML_DataSource3D.cxx new file mode 100644 index 0000000000..394671b22c --- /dev/null +++ b/src/XSDRAWSTLVRML/XSDRAWSTLVRML_DataSource3D.cxx @@ -0,0 +1,385 @@ +// Created on: 2014-08-04 +// Created by: Artem NOVIKOV +// Copyright (c) 2014 OPEN CASCADE SAS +// +// This file is part of Open CASCADE Technology software library. +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License version 2.1 as published +// by the Free Software Foundation, with special exception defined in the file +// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT +// distribution for complete text of the license and disclaimer of any warranty. +// +// Alternatively, this file may be used under the terms of Open CASCADE +// commercial license or contractual agreement. + +#include + +#include +#include +#include +#include +#include + +//================================================================ +// Function : Constructor +// Purpose : +//================================================================ +XSDRAWSTLVRML_DataSource3D::XSDRAWSTLVRML_DataSource3D() +{ + for (Standard_Integer aNodeID = 1; aNodeID <= 16; aNodeID++) + { + myNodes.Add( aNodeID ); + } + + for (Standard_Integer anElemID = 1; anElemID <= 5; anElemID++) + { + myElements.Add( anElemID ); + } + + myNodeCoords = new TColStd_HArray2OfReal(1, 16, 1, 3); + + myNodeCoords->SetValue( 1, 1, 5 ); + myNodeCoords->SetValue( 1, 2, 5 ); + myNodeCoords->SetValue( 1, 3, 20 ); + + myNodeCoords->SetValue( 2, 1, 0 ); + myNodeCoords->SetValue( 2, 2, 10 ); + myNodeCoords->SetValue( 2, 3, 10 ); + + myNodeCoords->SetValue( 3, 1, 10 ); + myNodeCoords->SetValue( 3, 2, 0 ); + myNodeCoords->SetValue( 3, 3, 10 ); + + myNodeCoords->SetValue( 4, 1, 0 ); + myNodeCoords->SetValue( 4, 2, 0 ); + myNodeCoords->SetValue( 4, 3, 10 ); + + myNodeCoords->SetValue( 5, 1, -10 ); + myNodeCoords->SetValue( 5, 2, 0 ); + myNodeCoords->SetValue( 5, 3, 10 ); + + myNodeCoords->SetValue( 6, 1, -10 ); + myNodeCoords->SetValue( 6, 2, 10 ); + myNodeCoords->SetValue( 6, 3, 10 ); + + myNodeCoords->SetValue( 7, 1, -10 ); + myNodeCoords->SetValue( 7, 2, 10 ); + myNodeCoords->SetValue( 7, 3, 0 ); + + myNodeCoords->SetValue( 8, 1, -10 ); + myNodeCoords->SetValue( 8, 2, 0 ); + myNodeCoords->SetValue( 8, 3, 0 ); + + myNodeCoords->SetValue( 9, 1, 0 ); + myNodeCoords->SetValue( 9, 2, 0 ); + myNodeCoords->SetValue( 9, 3, 0 ); + + myNodeCoords->SetValue( 10, 1, 0 ); + myNodeCoords->SetValue( 10, 2, 10 ); + myNodeCoords->SetValue( 10, 3, 0 ); + + myNodeCoords->SetValue( 11, 1, 0 ); + myNodeCoords->SetValue( 11, 2, -10 ); + myNodeCoords->SetValue( 11, 3, 10 ); + + myNodeCoords->SetValue( 12, 1, 10 ); + myNodeCoords->SetValue( 12, 2, -10 ); + myNodeCoords->SetValue( 12, 3, 10 ); + + myNodeCoords->SetValue( 13, 1, 10 ); + myNodeCoords->SetValue( 13, 2, -10 ); + myNodeCoords->SetValue( 13, 3, 0 ); + + myNodeCoords->SetValue( 14, 1, 0 ); + myNodeCoords->SetValue( 14, 2, -10 ); + myNodeCoords->SetValue( 14, 3, 0 ); + + myNodeCoords->SetValue( 15, 1, 10 ); + myNodeCoords->SetValue( 15, 2, 0 ); + myNodeCoords->SetValue( 15, 3, 0 ); + + myNodeCoords->SetValue( 16, 1, 5 ); + myNodeCoords->SetValue( 16, 2, 5 ); + myNodeCoords->SetValue( 16, 3, -10 ); + + myElemNbNodes = new TColStd_HArray1OfInteger(1, 5); + + myElemNbNodes->SetValue( 1, 4 ); + myElemNbNodes->SetValue( 2, 8 ); + myElemNbNodes->SetValue( 3, 6 ); + myElemNbNodes->SetValue( 4, 8 ); + myElemNbNodes->SetValue( 5, 4 ); + + myElemNodes = new TColStd_HArray2OfInteger(1, 5, 1, 8); + + myElemNodes->SetValue(1, 1, 1); + myElemNodes->SetValue(1, 2, 2); + myElemNodes->SetValue(1, 3, 3); + myElemNodes->SetValue(1, 4, 4); + + myElemNodes->SetValue(2, 1, 2); + myElemNodes->SetValue(2, 2, 4); + myElemNodes->SetValue(2, 3, 5); + myElemNodes->SetValue(2, 4, 6); + myElemNodes->SetValue(2, 5, 7); + myElemNodes->SetValue(2, 6, 8); + myElemNodes->SetValue(2, 7, 9); + myElemNodes->SetValue(2, 8, 10); + + myElemNodes->SetValue(3, 1, 2); + myElemNodes->SetValue(3, 2, 3); + myElemNodes->SetValue(3, 3, 4); + myElemNodes->SetValue(3, 4, 10); + myElemNodes->SetValue(3, 5, 15); + myElemNodes->SetValue(3, 6, 9); + + myElemNodes->SetValue(4, 1, 4); + myElemNodes->SetValue(4, 2, 3); + myElemNodes->SetValue(4, 3, 12); + myElemNodes->SetValue(4, 4, 11); + myElemNodes->SetValue(4, 5, 14); + myElemNodes->SetValue(4, 6, 13); + myElemNodes->SetValue(4, 7, 15); + myElemNodes->SetValue(4, 8, 9); + + myElemNodes->SetValue(5, 1, 16); + myElemNodes->SetValue(5, 2, 15); + myElemNodes->SetValue(5, 3, 10); + myElemNodes->SetValue(5, 4, 9); +} + +//================================================================ +// Function : GetGeom +// Purpose : +//================================================================ +Standard_Boolean XSDRAWSTLVRML_DataSource3D::GetGeom +( const Standard_Integer theID, const Standard_Boolean theIsElement, + TColStd_Array1OfReal& theCoords, Standard_Integer& theNbNodes, + MeshVS_EntityType& theType ) const +{ + if (theIsElement) + { + if (theID >= 1 && theID <= myElements.Extent()) + { + theType = MeshVS_ET_Volume; + theNbNodes = myElemNbNodes->Value(theID); + + for (Standard_Integer aNodeI = 1, aGlobCoordI = 1; aNodeI <= theNbNodes; aNodeI++) + { + Standard_Integer anIdxNode = myElemNodes->Value(theID, aNodeI); + for(Standard_Integer aCoordI = 1; aCoordI <= 3; aCoordI++, aGlobCoordI++ ) + theCoords(aGlobCoordI) = myNodeCoords->Value(anIdxNode, aCoordI); + } + + return Standard_True; + } + else + return Standard_False; + } + else + if (theID >= 1 && theID <= myNodes.Extent()) + { + theType = MeshVS_ET_Node; + theNbNodes = 1; + + theCoords( 1 ) = myNodeCoords->Value(theID, 1); + theCoords( 2 ) = myNodeCoords->Value(theID, 2); + theCoords( 3 ) = myNodeCoords->Value(theID, 3); + return Standard_True; + } + else + return Standard_False; +} + +//================================================================ +// Function : Get3DGeom +// Purpose : +//================================================================ +Standard_Boolean XSDRAWSTLVRML_DataSource3D::Get3DGeom +( const Standard_Integer theID, Standard_Integer& theNbNodes, + Handle(MeshVS_HArray1OfSequenceOfInteger)& theData ) const +{ + Handle(MeshVS_HArray1OfSequenceOfInteger) aMeshData; + if (theID == 1 || theID == 5) + { + aMeshData = new MeshVS_HArray1OfSequenceOfInteger(1,4); + theNbNodes = 4; + for (Standard_Integer anElemI = 1; anElemI <= 4; anElemI++) + { + aMeshData->ChangeValue(anElemI).Append( (anElemI - 1) % 4 ); + aMeshData->ChangeValue(anElemI).Append( anElemI % 4 ); + aMeshData->ChangeValue(anElemI).Append( (anElemI + 1) % 4 ); + } + theData = aMeshData; + return Standard_True; + } + + if (theID == 2 || theID == 4) + { + aMeshData = new MeshVS_HArray1OfSequenceOfInteger(1,6); + theNbNodes = 8; + for (Standard_Integer anElemI = 1, k = 1; anElemI <= 4; anElemI++) + { + aMeshData->ChangeValue(anElemI).Append( (k - 1) % 8 ); + aMeshData->ChangeValue(anElemI).Append( k % 8 ); + aMeshData->ChangeValue(anElemI).Append( (k + 1) % 8 ); + aMeshData->ChangeValue(anElemI).Append( (k + 2) % 8 ); + k+=2; + } + + aMeshData->ChangeValue(5).Append( 0 ); + aMeshData->ChangeValue(5).Append( 3 ); + aMeshData->ChangeValue(5).Append( 4 ); + aMeshData->ChangeValue(5).Append( 7 ); + + aMeshData->ChangeValue(6).Append( 1 ); + aMeshData->ChangeValue(6).Append( 2 ); + aMeshData->ChangeValue(6).Append( 5 ); + aMeshData->ChangeValue(6).Append( 6 ); + + theData = aMeshData; + return Standard_True; + } + + if (theID == 3) + { + aMeshData = new MeshVS_HArray1OfSequenceOfInteger(1,5); + theNbNodes = 6; + for (Standard_Integer anElemI = 1; anElemI <= 2; anElemI++) + { + aMeshData->ChangeValue(anElemI).Append( (anElemI - 1) * 3 ); + aMeshData->ChangeValue(anElemI).Append( (anElemI - 1) * 3 + 1 ); + aMeshData->ChangeValue(anElemI).Append( (anElemI - 1) * 3 + 2 ); + } + for (Standard_Integer anElemI = 1; anElemI <= 3; anElemI++) + { + aMeshData->ChangeValue(2 + anElemI).Append( (anElemI - 1) % 3 ); + aMeshData->ChangeValue(2 + anElemI).Append( anElemI % 3 ); + aMeshData->ChangeValue(2 + anElemI).Append( anElemI % 3 + 3 ); + aMeshData->ChangeValue(2 + anElemI).Append( (anElemI - 1) % 3 + 3 ); + } + theData = aMeshData; + return Standard_True; + } + + return Standard_False; +} + +//================================================================ +// Function : GetGeomType +// Purpose : +//================================================================ +Standard_Boolean XSDRAWSTLVRML_DataSource3D::GetGeomType +( const Standard_Integer theID, + const Standard_Boolean theIsElement, + MeshVS_EntityType& theType ) const +{ + if (theIsElement) + { + if (theID >= 1 && theID <= myElements.Extent()) + { + theType = MeshVS_ET_Volume; + return Standard_True; + } + } + else + if (theID >= 1 && theID <= myNodes.Extent()) + { + theType = MeshVS_ET_Node; + return Standard_True; + } + + return Standard_False; +} + +//================================================================ +// Function : GetAddr +// Purpose : +//================================================================ +Standard_Address XSDRAWSTLVRML_DataSource3D::GetAddr +( const Standard_Integer, const Standard_Boolean ) const +{ + return NULL; +} + +//================================================================ +// Function : GetNodesByElement +// Purpose : +//================================================================ +Standard_Boolean XSDRAWSTLVRML_DataSource3D::GetNodesByElement +( const Standard_Integer theID, + TColStd_Array1OfInteger& theNodeIDs, + Standard_Integer& theNbNodes ) const +{ + Standard_Integer aLow; + if (theID == 1 || theID == 5) + { + theNbNodes = 4; + aLow = theNodeIDs.Lower(); + theNodeIDs (aLow) = myElemNodes->Value(theID, 1 ); + theNodeIDs (aLow + 1) = myElemNodes->Value(theID, 2 ); + theNodeIDs (aLow + 2) = myElemNodes->Value(theID, 3 ); + theNodeIDs (aLow + 3) = myElemNodes->Value(theID, 4 ); + return Standard_True; + } + + if (theID == 2 || theID == 4) + { + theNbNodes = 8; + aLow = theNodeIDs.Lower(); + theNodeIDs (aLow) = myElemNodes->Value(theID, 1 ); + theNodeIDs (aLow + 1) = myElemNodes->Value(theID, 2 ); + theNodeIDs (aLow + 2) = myElemNodes->Value(theID, 3 ); + theNodeIDs (aLow + 3) = myElemNodes->Value(theID, 4 ); + theNodeIDs (aLow + 4) = myElemNodes->Value(theID, 5 ); + theNodeIDs (aLow + 5) = myElemNodes->Value(theID, 6 ); + theNodeIDs (aLow + 6) = myElemNodes->Value(theID, 7 ); + theNodeIDs (aLow + 7) = myElemNodes->Value(theID, 8 ); + return Standard_True; + } + + if (theID == 3) + { + theNbNodes = 6; + aLow = theNodeIDs.Lower(); + theNodeIDs (aLow) = myElemNodes->Value(theID, 1 ); + theNodeIDs (aLow + 1) = myElemNodes->Value(theID, 2 ); + theNodeIDs (aLow + 2) = myElemNodes->Value(theID, 3 ); + theNodeIDs (aLow + 3) = myElemNodes->Value(theID, 4 ); + theNodeIDs (aLow + 4) = myElemNodes->Value(theID, 5 ); + theNodeIDs (aLow + 5) = myElemNodes->Value(theID, 6 ); + return Standard_True; + } + + return Standard_False; +} + +//================================================================ +// Function : GetAllNodes +// Purpose : +//================================================================ +const TColStd_PackedMapOfInteger& XSDRAWSTLVRML_DataSource3D::GetAllNodes() const +{ + return myNodes; +} + +//================================================================ +// Function : GetAllElements +// Purpose : +//================================================================ +const TColStd_PackedMapOfInteger& XSDRAWSTLVRML_DataSource3D::GetAllElements() const +{ + return myElements; +} + +//================================================================ +// Function : GetNormal +// Purpose : +//================================================================ +Standard_Boolean XSDRAWSTLVRML_DataSource3D::GetNormal +( const Standard_Integer /*theID*/, const Standard_Integer /*theMax*/, + Standard_Real& /*theNx*/, Standard_Real& /*theNy*/,Standard_Real& /*theNz*/ ) const +{ + return Standard_False; +} diff --git a/tests/3rdparty/export/A1 b/tests/3rdparty/export/A1 index 34a0771235..eed738654d 100755 --- a/tests/3rdparty/export/A1 +++ b/tests/3rdparty/export/A1 @@ -10,7 +10,9 @@ if { [array get Draw_Groups "XSTEP-STL/VRML"] == "" } { meshfromstl m [locate_data_file shape.stl] -meshdispmode m 34 +meshtext m + +vsetdispmode m 34 set aFile $imagedir/shape.pdf diff --git a/tests/bugs/moddata_2/bug22572 b/tests/bugs/moddata_2/bug22572 index d440ed81e6..da7d65a52c 100755 --- a/tests/bugs/moddata_2/bug22572 +++ b/tests/bugs/moddata_2/bug22572 @@ -18,25 +18,8 @@ set List2 [meshfromstl result [locate_data_file bearing.stl]] set status 0 -if { ${List1} != ${List2}} { - set status 0 +if { ${List1} != ${List2} && [ regexp {Progress:} $List2 ] } { + puts "$BugNumber OK" } else { - set status 1 -} - -if { [ regexp {Progress:} $List2 ] } { - puts "${BugNumber} OK" - set status 0 -} else { - puts "${BugNumber} Faulty" - set status 1 -} -if { $status != 0 } { puts "Faulty $BugNumber" -} else { - puts "OK $BugNumber" -} - -set 3dviewer 0 - - +} \ No newline at end of file diff --git a/tests/bugs/vis/bug10702 b/tests/bugs/vis/bug10702 index 0d2023ff0a..64db0ba304 100755 --- a/tests/bugs/vis/bug10702 +++ b/tests/bugs/vis/bug10702 @@ -1,7 +1,3 @@ -puts "TODO OCC12345 ALL: An exception was caught" -puts "TODO OCC12345 ALL: \\*\\* Exception \\*\\*.*" -puts "TODO OCC12345 ALL: TEST INCOMPLETE" - puts "============" puts "OCC10702" puts "============" @@ -14,17 +10,19 @@ set BugNumber OCC10702 pload XDE +vinit + meshfromstl m [locate_data_file OMF6391_box.stl] set x_coord 180 set y_coord 260 -meshdispmode m 2 +vsetdispmode m 2 puts "\nMesh displayed in shading mode" checkcolor $x_coord $y_coord 0 0 0.36 -meshselmode m 8 +vselmode m 8 1 puts "\nSelection of elements is activated" vselect $x_coord $y_coord 1 @@ -35,7 +33,7 @@ puts "\nSelected elemement is hidden" checkcolor $x_coord $y_coord 0 0 0.36 -nodalcolor_id m +meshcolors m nodal 0 puts "\nDisplay nodal color presentation" checkcolor $x_coord $y_coord 0.46 0.12 0.37 diff --git a/tests/bugs/vis/bug10781 b/tests/bugs/vis/bug10781 index 730f237316..95a47617aa 100755 --- a/tests/bugs/vis/bug10781 +++ b/tests/bugs/vis/bug10781 @@ -10,6 +10,8 @@ set BugNumber OCC10781 pload XDE +vinit + meshfromstl m [locate_data_file OMF6391_box.stl] set x_coord 210 @@ -22,6 +24,6 @@ checkcolor $x_coord $y_coord 0 0 0 mesh_edge_width m 20 puts "\nSet big mesh edge width" -checkcolor $x_coord $y_coord 1 1 1 +checkcolor $x_coord $y_coord 1 1 0 set only_screen 1 diff --git a/tests/bugs/vis/bug11095 b/tests/bugs/vis/bug11095 index 1914bbf9ef..488ea1b718 100755 --- a/tests/bugs/vis/bug11095 +++ b/tests/bugs/vis/bug11095 @@ -10,6 +10,8 @@ set BugNumber OCC11095 pload XDE +vinit + meshfromstl m [locate_data_file OMF6391_box.stl] set x_coord 157 @@ -21,7 +23,7 @@ set BLUE_R1 0 vmoveto $x_coord $y_coord -meshdispmode m 3 +vsetdispmode m 3 puts "\nSet shrinked display mode\n" set x_coord 137 diff --git a/tests/bugs/vis/bug137_10 b/tests/bugs/vis/bug137_10 index f6190bb8f7..034d11e8d1 100755 --- a/tests/bugs/vis/bug137_10 +++ b/tests/bugs/vis/bug137_10 @@ -22,7 +22,9 @@ vdisplay a vfit vsetdispmode 1 -vselmode FACE ON +# FACE ON +vselmode 4 1 + set x 170 set y 80 vselect $x $y diff --git a/tests/bugs/vis/bug137_11 b/tests/bugs/vis/bug137_11 index aa77b1a263..9d872a16da 100755 --- a/tests/bugs/vis/bug137_11 +++ b/tests/bugs/vis/bug137_11 @@ -22,7 +22,9 @@ vdisplay a vfit vsetdispmode 1 -vselmode FACE ON +# FACE ON +vselmode 4 1 + set x 170 set y 80 vselect $x $y diff --git a/tests/bugs/vis/bug137_9 b/tests/bugs/vis/bug137_9 index 9d0f72c9ea..55465ac818 100755 --- a/tests/bugs/vis/bug137_9 +++ b/tests/bugs/vis/bug137_9 @@ -19,7 +19,9 @@ vdisplay a vfit vsetdispmode 1 -vselmode FACE ON +# FACE ON +vselmode 4 1 + set x 170 set y 80 vselect $x $y diff --git a/tests/bugs/vis/bug21091_3 b/tests/bugs/vis/bug21091_3 index b31a180938..82b92df757 100755 --- a/tests/bugs/vis/bug21091_3 +++ b/tests/bugs/vis/bug21091_3 @@ -16,7 +16,9 @@ set only_screen 1 meshfromstl m [locate_data_file shape.stl] -meshdispmode m 34 +meshtext m + +vsetdispmode m 34 set aFile $imagedir/${test_image}.pdf diff --git a/tests/bugs/vis/bug24389 b/tests/bugs/vis/bug24389 index 1e2b568444..0ca65bc0b8 100644 --- a/tests/bugs/vis/bug24389 +++ b/tests/bugs/vis/bug24389 @@ -122,7 +122,7 @@ proc check_picking { pick check name } { proc check_cross_picking { pick object name } { - vselmode 0 0 + vselmode 0 1 for {set i 1} {$i < 3} {incr i} { @@ -154,7 +154,7 @@ proc check_cross_picking { pick object name } { } vselmode $object $i 0 } - vselmode 0 0 + vselmode 0 1 } # pick coord { [flyout], dimension line, text } @@ -235,7 +235,7 @@ set ymin -500 set ymax 500 set shift 0 -vselmode 0 0 +vselmode 0 1 vselect $xmin $ymin $xmax $ymax $shift vdump $anImage1 @@ -245,7 +245,7 @@ vselect $xmin $ymin $xmax $ymax $shift vdump $anImage2 vselect 0 0 0 0 0 -vselmode 0 0 +vselmode 0 1 vselmode 2 1 vselect $xmin $ymin $xmax $ymax $shift vdump $anImage3 diff --git a/tests/bugs/vis/bug6652 b/tests/bugs/vis/bug6652 index 8e0a7e043b..1ae494fd40 100755 --- a/tests/bugs/vis/bug6652 +++ b/tests/bugs/vis/bug6652 @@ -9,10 +9,12 @@ puts "" pload XDE set BugNumber OCC6652 +vinit + meshfromstl result [locate_data_file OCC6652.stl] -meshdispmode result 3 -meshselmode result 8 +vsetdispmode result 3 +vselmode result 8 1 vselect 5 5 400 400 diff --git a/tests/perf/multi_mesh_selection/A1 b/tests/perf/multi_mesh_selection/A1 index b50725c171..f836d6c742 100644 --- a/tests/perf/multi_mesh_selection/A1 +++ b/tests/perf/multi_mesh_selection/A1 @@ -4,35 +4,35 @@ puts "Object haves wireframe mode" set dispmode 1 -meshdispmode m ${dispmode} -meshdispmode m2 ${dispmode} -meshdispmode m3 ${dispmode} -meshdispmode m4 ${dispmode} -meshdispmode m5 ${dispmode} -meshdispmode m6 ${dispmode} -meshdispmode m7 ${dispmode} -meshdispmode m8 ${dispmode} -meshdispmode m9 ${dispmode} +vsetdispmode m ${dispmode} +vsetdispmode m2 ${dispmode} +vsetdispmode m3 ${dispmode} +vsetdispmode m4 ${dispmode} +vsetdispmode m5 ${dispmode} +vsetdispmode m6 ${dispmode} +vsetdispmode m7 ${dispmode} +vsetdispmode m8 ${dispmode} +vsetdispmode m9 ${dispmode} -meshdispmode m11 ${dispmode} -meshdispmode m12 ${dispmode} -meshdispmode m13 ${dispmode} -meshdispmode m14 ${dispmode} -meshdispmode m15 ${dispmode} -meshdispmode m16 ${dispmode} -meshdispmode m17 ${dispmode} -meshdispmode m18 ${dispmode} -meshdispmode m19 ${dispmode} +vsetdispmode m11 ${dispmode} +vsetdispmode m12 ${dispmode} +vsetdispmode m13 ${dispmode} +vsetdispmode m14 ${dispmode} +vsetdispmode m15 ${dispmode} +vsetdispmode m16 ${dispmode} +vsetdispmode m17 ${dispmode} +vsetdispmode m18 ${dispmode} +vsetdispmode m19 ${dispmode} -meshdispmode m21 ${dispmode} -meshdispmode m22 ${dispmode} -meshdispmode m23 ${dispmode} -meshdispmode m24 ${dispmode} -meshdispmode m25 ${dispmode} -meshdispmode m26 ${dispmode} -meshdispmode m27 ${dispmode} -meshdispmode m28 ${dispmode} -meshdispmode m29 ${dispmode} +vsetdispmode m21 ${dispmode} +vsetdispmode m22 ${dispmode} +vsetdispmode m23 ${dispmode} +vsetdispmode m24 ${dispmode} +vsetdispmode m25 ${dispmode} +vsetdispmode m26 ${dispmode} +vsetdispmode m27 ${dispmode} +vsetdispmode m28 ${dispmode} +vsetdispmode m29 ${dispmode} dchrono tmr start diff --git a/tests/perf/multi_mesh_selection/A2 b/tests/perf/multi_mesh_selection/A2 index 5d61772a47..3e2a532039 100644 --- a/tests/perf/multi_mesh_selection/A2 +++ b/tests/perf/multi_mesh_selection/A2 @@ -4,35 +4,35 @@ puts "Object haves shading mode" set dispmode 2 -meshdispmode m ${dispmode} -meshdispmode m2 ${dispmode} -meshdispmode m3 ${dispmode} -meshdispmode m4 ${dispmode} -meshdispmode m5 ${dispmode} -meshdispmode m6 ${dispmode} -meshdispmode m7 ${dispmode} -meshdispmode m8 ${dispmode} -meshdispmode m9 ${dispmode} +vsetdispmode m ${dispmode} +vsetdispmode m2 ${dispmode} +vsetdispmode m3 ${dispmode} +vsetdispmode m4 ${dispmode} +vsetdispmode m5 ${dispmode} +vsetdispmode m6 ${dispmode} +vsetdispmode m7 ${dispmode} +vsetdispmode m8 ${dispmode} +vsetdispmode m9 ${dispmode} -meshdispmode m11 ${dispmode} -meshdispmode m12 ${dispmode} -meshdispmode m13 ${dispmode} -meshdispmode m14 ${dispmode} -meshdispmode m15 ${dispmode} -meshdispmode m16 ${dispmode} -meshdispmode m17 ${dispmode} -meshdispmode m18 ${dispmode} -meshdispmode m19 ${dispmode} +vsetdispmode m11 ${dispmode} +vsetdispmode m12 ${dispmode} +vsetdispmode m13 ${dispmode} +vsetdispmode m14 ${dispmode} +vsetdispmode m15 ${dispmode} +vsetdispmode m16 ${dispmode} +vsetdispmode m17 ${dispmode} +vsetdispmode m18 ${dispmode} +vsetdispmode m19 ${dispmode} -meshdispmode m21 ${dispmode} -meshdispmode m22 ${dispmode} -meshdispmode m23 ${dispmode} -meshdispmode m24 ${dispmode} -meshdispmode m25 ${dispmode} -meshdispmode m26 ${dispmode} -meshdispmode m27 ${dispmode} -meshdispmode m28 ${dispmode} -meshdispmode m29 ${dispmode} +vsetdispmode m21 ${dispmode} +vsetdispmode m22 ${dispmode} +vsetdispmode m23 ${dispmode} +vsetdispmode m24 ${dispmode} +vsetdispmode m25 ${dispmode} +vsetdispmode m26 ${dispmode} +vsetdispmode m27 ${dispmode} +vsetdispmode m28 ${dispmode} +vsetdispmode m29 ${dispmode} dchrono tmr start diff --git a/tests/perf/multi_mesh_selection/A3 b/tests/perf/multi_mesh_selection/A3 index 2c1b70e5c1..abdc183c4f 100644 --- a/tests/perf/multi_mesh_selection/A3 +++ b/tests/perf/multi_mesh_selection/A3 @@ -4,35 +4,35 @@ puts "Object haves shrink mode" set dispmode 3 -meshdispmode m ${dispmode} -meshdispmode m2 ${dispmode} -meshdispmode m3 ${dispmode} -meshdispmode m4 ${dispmode} -meshdispmode m5 ${dispmode} -meshdispmode m6 ${dispmode} -meshdispmode m7 ${dispmode} -meshdispmode m8 ${dispmode} -meshdispmode m9 ${dispmode} +vsetdispmode m ${dispmode} +vsetdispmode m2 ${dispmode} +vsetdispmode m3 ${dispmode} +vsetdispmode m4 ${dispmode} +vsetdispmode m5 ${dispmode} +vsetdispmode m6 ${dispmode} +vsetdispmode m7 ${dispmode} +vsetdispmode m8 ${dispmode} +vsetdispmode m9 ${dispmode} -meshdispmode m11 ${dispmode} -meshdispmode m12 ${dispmode} -meshdispmode m13 ${dispmode} -meshdispmode m14 ${dispmode} -meshdispmode m15 ${dispmode} -meshdispmode m16 ${dispmode} -meshdispmode m17 ${dispmode} -meshdispmode m18 ${dispmode} -meshdispmode m19 ${dispmode} +vsetdispmode m11 ${dispmode} +vsetdispmode m12 ${dispmode} +vsetdispmode m13 ${dispmode} +vsetdispmode m14 ${dispmode} +vsetdispmode m15 ${dispmode} +vsetdispmode m16 ${dispmode} +vsetdispmode m17 ${dispmode} +vsetdispmode m18 ${dispmode} +vsetdispmode m19 ${dispmode} -meshdispmode m21 ${dispmode} -meshdispmode m22 ${dispmode} -meshdispmode m23 ${dispmode} -meshdispmode m24 ${dispmode} -meshdispmode m25 ${dispmode} -meshdispmode m26 ${dispmode} -meshdispmode m27 ${dispmode} -meshdispmode m28 ${dispmode} -meshdispmode m29 ${dispmode} +vsetdispmode m21 ${dispmode} +vsetdispmode m22 ${dispmode} +vsetdispmode m23 ${dispmode} +vsetdispmode m24 ${dispmode} +vsetdispmode m25 ${dispmode} +vsetdispmode m26 ${dispmode} +vsetdispmode m27 ${dispmode} +vsetdispmode m28 ${dispmode} +vsetdispmode m29 ${dispmode} dchrono tmr start diff --git a/tests/perf/multi_mesh_selection/A4 b/tests/perf/multi_mesh_selection/A4 index 29b665e08d..19a4fa1e8d 100644 --- a/tests/perf/multi_mesh_selection/A4 +++ b/tests/perf/multi_mesh_selection/A4 @@ -4,39 +4,39 @@ puts "Object haves wireframe mode" set dispmode 1 -meshdispmode m ${dispmode} -meshdispmode m2 ${dispmode} -meshdispmode m3 ${dispmode} -meshdispmode m4 ${dispmode} -meshdispmode m5 ${dispmode} -meshdispmode m6 ${dispmode} -meshdispmode m7 ${dispmode} -meshdispmode m8 ${dispmode} -meshdispmode m9 ${dispmode} +vsetdispmode m ${dispmode} +vsetdispmode m2 ${dispmode} +vsetdispmode m3 ${dispmode} +vsetdispmode m4 ${dispmode} +vsetdispmode m5 ${dispmode} +vsetdispmode m6 ${dispmode} +vsetdispmode m7 ${dispmode} +vsetdispmode m8 ${dispmode} +vsetdispmode m9 ${dispmode} -meshdispmode m11 ${dispmode} -meshdispmode m12 ${dispmode} -meshdispmode m13 ${dispmode} -meshdispmode m14 ${dispmode} -meshdispmode m15 ${dispmode} -meshdispmode m16 ${dispmode} -meshdispmode m17 ${dispmode} -meshdispmode m18 ${dispmode} -meshdispmode m19 ${dispmode} +vsetdispmode m11 ${dispmode} +vsetdispmode m12 ${dispmode} +vsetdispmode m13 ${dispmode} +vsetdispmode m14 ${dispmode} +vsetdispmode m15 ${dispmode} +vsetdispmode m16 ${dispmode} +vsetdispmode m17 ${dispmode} +vsetdispmode m18 ${dispmode} +vsetdispmode m19 ${dispmode} -meshdispmode m21 ${dispmode} -meshdispmode m22 ${dispmode} -meshdispmode m23 ${dispmode} -meshdispmode m24 ${dispmode} -meshdispmode m25 ${dispmode} -meshdispmode m26 ${dispmode} -meshdispmode m27 ${dispmode} -meshdispmode m28 ${dispmode} -meshdispmode m29 ${dispmode} +vsetdispmode m21 ${dispmode} +vsetdispmode m22 ${dispmode} +vsetdispmode m23 ${dispmode} +vsetdispmode m24 ${dispmode} +vsetdispmode m25 ${dispmode} +vsetdispmode m26 ${dispmode} +vsetdispmode m27 ${dispmode} +vsetdispmode m28 ${dispmode} +vsetdispmode m29 ${dispmode} dchrono tmr start for {set i 1} {$i < 100} {incr i} { - meshselmode m 1 - meshselmode m -1 + vselmode m 1 1 + vselmode m 0 0 } diff --git a/tests/perf/multi_mesh_selection/A5 b/tests/perf/multi_mesh_selection/A5 index fdbd9776dd..58046c3e2e 100644 --- a/tests/perf/multi_mesh_selection/A5 +++ b/tests/perf/multi_mesh_selection/A5 @@ -4,39 +4,39 @@ puts "Object haves wireframe mode" set dispmode 1 -meshdispmode m ${dispmode} -meshdispmode m2 ${dispmode} -meshdispmode m3 ${dispmode} -meshdispmode m4 ${dispmode} -meshdispmode m5 ${dispmode} -meshdispmode m6 ${dispmode} -meshdispmode m7 ${dispmode} -meshdispmode m8 ${dispmode} -meshdispmode m9 ${dispmode} +vsetdispmode m ${dispmode} +vsetdispmode m2 ${dispmode} +vsetdispmode m3 ${dispmode} +vsetdispmode m4 ${dispmode} +vsetdispmode m5 ${dispmode} +vsetdispmode m6 ${dispmode} +vsetdispmode m7 ${dispmode} +vsetdispmode m8 ${dispmode} +vsetdispmode m9 ${dispmode} -meshdispmode m11 ${dispmode} -meshdispmode m12 ${dispmode} -meshdispmode m13 ${dispmode} -meshdispmode m14 ${dispmode} -meshdispmode m15 ${dispmode} -meshdispmode m16 ${dispmode} -meshdispmode m17 ${dispmode} -meshdispmode m18 ${dispmode} -meshdispmode m19 ${dispmode} +vsetdispmode m11 ${dispmode} +vsetdispmode m12 ${dispmode} +vsetdispmode m13 ${dispmode} +vsetdispmode m14 ${dispmode} +vsetdispmode m15 ${dispmode} +vsetdispmode m16 ${dispmode} +vsetdispmode m17 ${dispmode} +vsetdispmode m18 ${dispmode} +vsetdispmode m19 ${dispmode} -meshdispmode m21 ${dispmode} -meshdispmode m22 ${dispmode} -meshdispmode m23 ${dispmode} -meshdispmode m24 ${dispmode} -meshdispmode m25 ${dispmode} -meshdispmode m26 ${dispmode} -meshdispmode m27 ${dispmode} -meshdispmode m28 ${dispmode} -meshdispmode m29 ${dispmode} +vsetdispmode m21 ${dispmode} +vsetdispmode m22 ${dispmode} +vsetdispmode m23 ${dispmode} +vsetdispmode m24 ${dispmode} +vsetdispmode m25 ${dispmode} +vsetdispmode m26 ${dispmode} +vsetdispmode m27 ${dispmode} +vsetdispmode m28 ${dispmode} +vsetdispmode m29 ${dispmode} dchrono tmr start for {set i 1} {$i < 100} {incr i} { - meshselmode m 8 - meshselmode m -1 + vselmode m 8 1 + vselmode m 0 0 } diff --git a/tests/perf/multi_mesh_selection/A6 b/tests/perf/multi_mesh_selection/A6 index a4c7de7b79..5d4940763e 100644 --- a/tests/perf/multi_mesh_selection/A6 +++ b/tests/perf/multi_mesh_selection/A6 @@ -4,39 +4,39 @@ puts "Object haves wireframe mode" set dispmode 1 -meshdispmode m ${dispmode} -meshdispmode m2 ${dispmode} -meshdispmode m3 ${dispmode} -meshdispmode m4 ${dispmode} -meshdispmode m5 ${dispmode} -meshdispmode m6 ${dispmode} -meshdispmode m7 ${dispmode} -meshdispmode m8 ${dispmode} -meshdispmode m9 ${dispmode} +vsetdispmode m ${dispmode} +vsetdispmode m2 ${dispmode} +vsetdispmode m3 ${dispmode} +vsetdispmode m4 ${dispmode} +vsetdispmode m5 ${dispmode} +vsetdispmode m6 ${dispmode} +vsetdispmode m7 ${dispmode} +vsetdispmode m8 ${dispmode} +vsetdispmode m9 ${dispmode} -meshdispmode m11 ${dispmode} -meshdispmode m12 ${dispmode} -meshdispmode m13 ${dispmode} -meshdispmode m14 ${dispmode} -meshdispmode m15 ${dispmode} -meshdispmode m16 ${dispmode} -meshdispmode m17 ${dispmode} -meshdispmode m18 ${dispmode} -meshdispmode m19 ${dispmode} +vsetdispmode m11 ${dispmode} +vsetdispmode m12 ${dispmode} +vsetdispmode m13 ${dispmode} +vsetdispmode m14 ${dispmode} +vsetdispmode m15 ${dispmode} +vsetdispmode m16 ${dispmode} +vsetdispmode m17 ${dispmode} +vsetdispmode m18 ${dispmode} +vsetdispmode m19 ${dispmode} -meshdispmode m21 ${dispmode} -meshdispmode m22 ${dispmode} -meshdispmode m23 ${dispmode} -meshdispmode m24 ${dispmode} -meshdispmode m25 ${dispmode} -meshdispmode m26 ${dispmode} -meshdispmode m27 ${dispmode} -meshdispmode m28 ${dispmode} -meshdispmode m29 ${dispmode} +vsetdispmode m21 ${dispmode} +vsetdispmode m22 ${dispmode} +vsetdispmode m23 ${dispmode} +vsetdispmode m24 ${dispmode} +vsetdispmode m25 ${dispmode} +vsetdispmode m26 ${dispmode} +vsetdispmode m27 ${dispmode} +vsetdispmode m28 ${dispmode} +vsetdispmode m29 ${dispmode} dchrono tmr start for {set i 1} {$i < 100} {incr i} { - meshselmode m 0 - meshselmode m -1 + vselmode m 0 1 + vselmode m 0 0 } diff --git a/tests/perf/multi_mesh_selection/A7 b/tests/perf/multi_mesh_selection/A7 index 2bab2e51ac..62e73b2bcb 100644 --- a/tests/perf/multi_mesh_selection/A7 +++ b/tests/perf/multi_mesh_selection/A7 @@ -4,37 +4,37 @@ puts "Object haves wireframe mode" set dispmode 1 -meshdispmode m ${dispmode} -meshdispmode m2 ${dispmode} -meshdispmode m3 ${dispmode} -meshdispmode m4 ${dispmode} -meshdispmode m5 ${dispmode} -meshdispmode m6 ${dispmode} -meshdispmode m7 ${dispmode} -meshdispmode m8 ${dispmode} -meshdispmode m9 ${dispmode} +vsetdispmode m ${dispmode} +vsetdispmode m2 ${dispmode} +vsetdispmode m3 ${dispmode} +vsetdispmode m4 ${dispmode} +vsetdispmode m5 ${dispmode} +vsetdispmode m6 ${dispmode} +vsetdispmode m7 ${dispmode} +vsetdispmode m8 ${dispmode} +vsetdispmode m9 ${dispmode} -meshdispmode m11 ${dispmode} -meshdispmode m12 ${dispmode} -meshdispmode m13 ${dispmode} -meshdispmode m14 ${dispmode} -meshdispmode m15 ${dispmode} -meshdispmode m16 ${dispmode} -meshdispmode m17 ${dispmode} -meshdispmode m18 ${dispmode} -meshdispmode m19 ${dispmode} +vsetdispmode m11 ${dispmode} +vsetdispmode m12 ${dispmode} +vsetdispmode m13 ${dispmode} +vsetdispmode m14 ${dispmode} +vsetdispmode m15 ${dispmode} +vsetdispmode m16 ${dispmode} +vsetdispmode m17 ${dispmode} +vsetdispmode m18 ${dispmode} +vsetdispmode m19 ${dispmode} -meshdispmode m21 ${dispmode} -meshdispmode m22 ${dispmode} -meshdispmode m23 ${dispmode} -meshdispmode m24 ${dispmode} -meshdispmode m25 ${dispmode} -meshdispmode m26 ${dispmode} -meshdispmode m27 ${dispmode} -meshdispmode m28 ${dispmode} -meshdispmode m29 ${dispmode} +vsetdispmode m21 ${dispmode} +vsetdispmode m22 ${dispmode} +vsetdispmode m23 ${dispmode} +vsetdispmode m24 ${dispmode} +vsetdispmode m25 ${dispmode} +vsetdispmode m26 ${dispmode} +vsetdispmode m27 ${dispmode} +vsetdispmode m28 ${dispmode} +vsetdispmode m29 ${dispmode} -meshselmode m 0 +vselmode m 0 1 dchrono tmr start diff --git a/tests/perf/multi_mesh_selection/A8 b/tests/perf/multi_mesh_selection/A8 index 942da6a9cb..df18f1eaf9 100644 --- a/tests/perf/multi_mesh_selection/A8 +++ b/tests/perf/multi_mesh_selection/A8 @@ -4,37 +4,37 @@ puts "Object haves shading mode" set dispmode 2 -meshdispmode m ${dispmode} -meshdispmode m2 ${dispmode} -meshdispmode m3 ${dispmode} -meshdispmode m4 ${dispmode} -meshdispmode m5 ${dispmode} -meshdispmode m6 ${dispmode} -meshdispmode m7 ${dispmode} -meshdispmode m8 ${dispmode} -meshdispmode m9 ${dispmode} +vsetdispmode m ${dispmode} +vsetdispmode m2 ${dispmode} +vsetdispmode m3 ${dispmode} +vsetdispmode m4 ${dispmode} +vsetdispmode m5 ${dispmode} +vsetdispmode m6 ${dispmode} +vsetdispmode m7 ${dispmode} +vsetdispmode m8 ${dispmode} +vsetdispmode m9 ${dispmode} -meshdispmode m11 ${dispmode} -meshdispmode m12 ${dispmode} -meshdispmode m13 ${dispmode} -meshdispmode m14 ${dispmode} -meshdispmode m15 ${dispmode} -meshdispmode m16 ${dispmode} -meshdispmode m17 ${dispmode} -meshdispmode m18 ${dispmode} -meshdispmode m19 ${dispmode} +vsetdispmode m11 ${dispmode} +vsetdispmode m12 ${dispmode} +vsetdispmode m13 ${dispmode} +vsetdispmode m14 ${dispmode} +vsetdispmode m15 ${dispmode} +vsetdispmode m16 ${dispmode} +vsetdispmode m17 ${dispmode} +vsetdispmode m18 ${dispmode} +vsetdispmode m19 ${dispmode} -meshdispmode m21 ${dispmode} -meshdispmode m22 ${dispmode} -meshdispmode m23 ${dispmode} -meshdispmode m24 ${dispmode} -meshdispmode m25 ${dispmode} -meshdispmode m26 ${dispmode} -meshdispmode m27 ${dispmode} -meshdispmode m28 ${dispmode} -meshdispmode m29 ${dispmode} +vsetdispmode m21 ${dispmode} +vsetdispmode m22 ${dispmode} +vsetdispmode m23 ${dispmode} +vsetdispmode m24 ${dispmode} +vsetdispmode m25 ${dispmode} +vsetdispmode m26 ${dispmode} +vsetdispmode m27 ${dispmode} +vsetdispmode m28 ${dispmode} +vsetdispmode m29 ${dispmode} -meshselmode m 0 +vselmode m 0 1 dchrono tmr start diff --git a/tests/perf/multi_mesh_selection/A9 b/tests/perf/multi_mesh_selection/A9 index e7bb51e1a2..600ec6afae 100644 --- a/tests/perf/multi_mesh_selection/A9 +++ b/tests/perf/multi_mesh_selection/A9 @@ -4,37 +4,37 @@ puts "Object haves shrink mode" set dispmode 3 -meshdispmode m ${dispmode} -meshdispmode m2 ${dispmode} -meshdispmode m3 ${dispmode} -meshdispmode m4 ${dispmode} -meshdispmode m5 ${dispmode} -meshdispmode m6 ${dispmode} -meshdispmode m7 ${dispmode} -meshdispmode m8 ${dispmode} -meshdispmode m9 ${dispmode} +vsetdispmode m ${dispmode} +vsetdispmode m2 ${dispmode} +vsetdispmode m3 ${dispmode} +vsetdispmode m4 ${dispmode} +vsetdispmode m5 ${dispmode} +vsetdispmode m6 ${dispmode} +vsetdispmode m7 ${dispmode} +vsetdispmode m8 ${dispmode} +vsetdispmode m9 ${dispmode} -meshdispmode m11 ${dispmode} -meshdispmode m12 ${dispmode} -meshdispmode m13 ${dispmode} -meshdispmode m14 ${dispmode} -meshdispmode m15 ${dispmode} -meshdispmode m16 ${dispmode} -meshdispmode m17 ${dispmode} -meshdispmode m18 ${dispmode} -meshdispmode m19 ${dispmode} +vsetdispmode m11 ${dispmode} +vsetdispmode m12 ${dispmode} +vsetdispmode m13 ${dispmode} +vsetdispmode m14 ${dispmode} +vsetdispmode m15 ${dispmode} +vsetdispmode m16 ${dispmode} +vsetdispmode m17 ${dispmode} +vsetdispmode m18 ${dispmode} +vsetdispmode m19 ${dispmode} -meshdispmode m21 ${dispmode} -meshdispmode m22 ${dispmode} -meshdispmode m23 ${dispmode} -meshdispmode m24 ${dispmode} -meshdispmode m25 ${dispmode} -meshdispmode m26 ${dispmode} -meshdispmode m27 ${dispmode} -meshdispmode m28 ${dispmode} -meshdispmode m29 ${dispmode} +vsetdispmode m21 ${dispmode} +vsetdispmode m22 ${dispmode} +vsetdispmode m23 ${dispmode} +vsetdispmode m24 ${dispmode} +vsetdispmode m25 ${dispmode} +vsetdispmode m26 ${dispmode} +vsetdispmode m27 ${dispmode} +vsetdispmode m28 ${dispmode} +vsetdispmode m29 ${dispmode} -meshselmode m 0 +vselmode m 0 1 dchrono tmr start diff --git a/tests/perf/multi_mesh_selection/B1 b/tests/perf/multi_mesh_selection/B1 index 588e790874..c2463f40b1 100644 --- a/tests/perf/multi_mesh_selection/B1 +++ b/tests/perf/multi_mesh_selection/B1 @@ -4,37 +4,37 @@ puts "Object haves wireframe mode" set dispmode 1 -meshdispmode m ${dispmode} -meshdispmode m2 ${dispmode} -meshdispmode m3 ${dispmode} -meshdispmode m4 ${dispmode} -meshdispmode m5 ${dispmode} -meshdispmode m6 ${dispmode} -meshdispmode m7 ${dispmode} -meshdispmode m8 ${dispmode} -meshdispmode m9 ${dispmode} +vsetdispmode m ${dispmode} +vsetdispmode m2 ${dispmode} +vsetdispmode m3 ${dispmode} +vsetdispmode m4 ${dispmode} +vsetdispmode m5 ${dispmode} +vsetdispmode m6 ${dispmode} +vsetdispmode m7 ${dispmode} +vsetdispmode m8 ${dispmode} +vsetdispmode m9 ${dispmode} -meshdispmode m11 ${dispmode} -meshdispmode m12 ${dispmode} -meshdispmode m13 ${dispmode} -meshdispmode m14 ${dispmode} -meshdispmode m15 ${dispmode} -meshdispmode m16 ${dispmode} -meshdispmode m17 ${dispmode} -meshdispmode m18 ${dispmode} -meshdispmode m19 ${dispmode} +vsetdispmode m11 ${dispmode} +vsetdispmode m12 ${dispmode} +vsetdispmode m13 ${dispmode} +vsetdispmode m14 ${dispmode} +vsetdispmode m15 ${dispmode} +vsetdispmode m16 ${dispmode} +vsetdispmode m17 ${dispmode} +vsetdispmode m18 ${dispmode} +vsetdispmode m19 ${dispmode} -meshdispmode m21 ${dispmode} -meshdispmode m22 ${dispmode} -meshdispmode m23 ${dispmode} -meshdispmode m24 ${dispmode} -meshdispmode m25 ${dispmode} -meshdispmode m26 ${dispmode} -meshdispmode m27 ${dispmode} -meshdispmode m28 ${dispmode} -meshdispmode m29 ${dispmode} +vsetdispmode m21 ${dispmode} +vsetdispmode m22 ${dispmode} +vsetdispmode m23 ${dispmode} +vsetdispmode m24 ${dispmode} +vsetdispmode m25 ${dispmode} +vsetdispmode m26 ${dispmode} +vsetdispmode m27 ${dispmode} +vsetdispmode m28 ${dispmode} +vsetdispmode m29 ${dispmode} -meshselmode m 0 +vselmode m 0 1 dchrono tmr start diff --git a/tests/perf/multi_mesh_selection/B2 b/tests/perf/multi_mesh_selection/B2 index 1e5b73e780..412dc24622 100644 --- a/tests/perf/multi_mesh_selection/B2 +++ b/tests/perf/multi_mesh_selection/B2 @@ -4,37 +4,37 @@ puts "Object haves shading mode" set dispmode 2 -meshdispmode m ${dispmode} -meshdispmode m2 ${dispmode} -meshdispmode m3 ${dispmode} -meshdispmode m4 ${dispmode} -meshdispmode m5 ${dispmode} -meshdispmode m6 ${dispmode} -meshdispmode m7 ${dispmode} -meshdispmode m8 ${dispmode} -meshdispmode m9 ${dispmode} +vsetdispmode m ${dispmode} +vsetdispmode m2 ${dispmode} +vsetdispmode m3 ${dispmode} +vsetdispmode m4 ${dispmode} +vsetdispmode m5 ${dispmode} +vsetdispmode m6 ${dispmode} +vsetdispmode m7 ${dispmode} +vsetdispmode m8 ${dispmode} +vsetdispmode m9 ${dispmode} -meshdispmode m11 ${dispmode} -meshdispmode m12 ${dispmode} -meshdispmode m13 ${dispmode} -meshdispmode m14 ${dispmode} -meshdispmode m15 ${dispmode} -meshdispmode m16 ${dispmode} -meshdispmode m17 ${dispmode} -meshdispmode m18 ${dispmode} -meshdispmode m19 ${dispmode} +vsetdispmode m11 ${dispmode} +vsetdispmode m12 ${dispmode} +vsetdispmode m13 ${dispmode} +vsetdispmode m14 ${dispmode} +vsetdispmode m15 ${dispmode} +vsetdispmode m16 ${dispmode} +vsetdispmode m17 ${dispmode} +vsetdispmode m18 ${dispmode} +vsetdispmode m19 ${dispmode} -meshdispmode m21 ${dispmode} -meshdispmode m22 ${dispmode} -meshdispmode m23 ${dispmode} -meshdispmode m24 ${dispmode} -meshdispmode m25 ${dispmode} -meshdispmode m26 ${dispmode} -meshdispmode m27 ${dispmode} -meshdispmode m28 ${dispmode} -meshdispmode m29 ${dispmode} +vsetdispmode m21 ${dispmode} +vsetdispmode m22 ${dispmode} +vsetdispmode m23 ${dispmode} +vsetdispmode m24 ${dispmode} +vsetdispmode m25 ${dispmode} +vsetdispmode m26 ${dispmode} +vsetdispmode m27 ${dispmode} +vsetdispmode m28 ${dispmode} +vsetdispmode m29 ${dispmode} -meshselmode m 0 +vselmode m 0 1 dchrono tmr start diff --git a/tests/perf/multi_mesh_selection/B3 b/tests/perf/multi_mesh_selection/B3 index 921be95667..4b87e58caf 100644 --- a/tests/perf/multi_mesh_selection/B3 +++ b/tests/perf/multi_mesh_selection/B3 @@ -4,37 +4,37 @@ puts "Object haves shrink mode" set dispmode 3 -meshdispmode m ${dispmode} -meshdispmode m2 ${dispmode} -meshdispmode m3 ${dispmode} -meshdispmode m4 ${dispmode} -meshdispmode m5 ${dispmode} -meshdispmode m6 ${dispmode} -meshdispmode m7 ${dispmode} -meshdispmode m8 ${dispmode} -meshdispmode m9 ${dispmode} +vsetdispmode m ${dispmode} +vsetdispmode m2 ${dispmode} +vsetdispmode m3 ${dispmode} +vsetdispmode m4 ${dispmode} +vsetdispmode m5 ${dispmode} +vsetdispmode m6 ${dispmode} +vsetdispmode m7 ${dispmode} +vsetdispmode m8 ${dispmode} +vsetdispmode m9 ${dispmode} -meshdispmode m11 ${dispmode} -meshdispmode m12 ${dispmode} -meshdispmode m13 ${dispmode} -meshdispmode m14 ${dispmode} -meshdispmode m15 ${dispmode} -meshdispmode m16 ${dispmode} -meshdispmode m17 ${dispmode} -meshdispmode m18 ${dispmode} -meshdispmode m19 ${dispmode} +vsetdispmode m11 ${dispmode} +vsetdispmode m12 ${dispmode} +vsetdispmode m13 ${dispmode} +vsetdispmode m14 ${dispmode} +vsetdispmode m15 ${dispmode} +vsetdispmode m16 ${dispmode} +vsetdispmode m17 ${dispmode} +vsetdispmode m18 ${dispmode} +vsetdispmode m19 ${dispmode} -meshdispmode m21 ${dispmode} -meshdispmode m22 ${dispmode} -meshdispmode m23 ${dispmode} -meshdispmode m24 ${dispmode} -meshdispmode m25 ${dispmode} -meshdispmode m26 ${dispmode} -meshdispmode m27 ${dispmode} -meshdispmode m28 ${dispmode} -meshdispmode m29 ${dispmode} +vsetdispmode m21 ${dispmode} +vsetdispmode m22 ${dispmode} +vsetdispmode m23 ${dispmode} +vsetdispmode m24 ${dispmode} +vsetdispmode m25 ${dispmode} +vsetdispmode m26 ${dispmode} +vsetdispmode m27 ${dispmode} +vsetdispmode m28 ${dispmode} +vsetdispmode m29 ${dispmode} -meshselmode m 0 +vselmode m 0 1 dchrono tmr start diff --git a/tests/perf/multi_mesh_selection/B4 b/tests/perf/multi_mesh_selection/B4 index 7e3cfa2ce8..e1d358ea87 100644 --- a/tests/perf/multi_mesh_selection/B4 +++ b/tests/perf/multi_mesh_selection/B4 @@ -4,37 +4,37 @@ puts "Object haves wireframe mode" set dispmode 1 -meshdispmode m ${dispmode} -meshdispmode m2 ${dispmode} -meshdispmode m3 ${dispmode} -meshdispmode m4 ${dispmode} -meshdispmode m5 ${dispmode} -meshdispmode m6 ${dispmode} -meshdispmode m7 ${dispmode} -meshdispmode m8 ${dispmode} -meshdispmode m9 ${dispmode} +vsetdispmode m ${dispmode} +vsetdispmode m2 ${dispmode} +vsetdispmode m3 ${dispmode} +vsetdispmode m4 ${dispmode} +vsetdispmode m5 ${dispmode} +vsetdispmode m6 ${dispmode} +vsetdispmode m7 ${dispmode} +vsetdispmode m8 ${dispmode} +vsetdispmode m9 ${dispmode} -meshdispmode m11 ${dispmode} -meshdispmode m12 ${dispmode} -meshdispmode m13 ${dispmode} -meshdispmode m14 ${dispmode} -meshdispmode m15 ${dispmode} -meshdispmode m16 ${dispmode} -meshdispmode m17 ${dispmode} -meshdispmode m18 ${dispmode} -meshdispmode m19 ${dispmode} +vsetdispmode m11 ${dispmode} +vsetdispmode m12 ${dispmode} +vsetdispmode m13 ${dispmode} +vsetdispmode m14 ${dispmode} +vsetdispmode m15 ${dispmode} +vsetdispmode m16 ${dispmode} +vsetdispmode m17 ${dispmode} +vsetdispmode m18 ${dispmode} +vsetdispmode m19 ${dispmode} -meshdispmode m21 ${dispmode} -meshdispmode m22 ${dispmode} -meshdispmode m23 ${dispmode} -meshdispmode m24 ${dispmode} -meshdispmode m25 ${dispmode} -meshdispmode m26 ${dispmode} -meshdispmode m27 ${dispmode} -meshdispmode m28 ${dispmode} -meshdispmode m29 ${dispmode} +vsetdispmode m21 ${dispmode} +vsetdispmode m22 ${dispmode} +vsetdispmode m23 ${dispmode} +vsetdispmode m24 ${dispmode} +vsetdispmode m25 ${dispmode} +vsetdispmode m26 ${dispmode} +vsetdispmode m27 ${dispmode} +vsetdispmode m28 ${dispmode} +vsetdispmode m29 ${dispmode} -meshselmode m 1 +vselmode m 1 1 dchrono tmr start diff --git a/tests/perf/multi_mesh_selection/B5 b/tests/perf/multi_mesh_selection/B5 index fcbefd0a65..2d8a583409 100644 --- a/tests/perf/multi_mesh_selection/B5 +++ b/tests/perf/multi_mesh_selection/B5 @@ -4,37 +4,37 @@ puts "Object haves wireframe mode" set dispmode 1 -meshdispmode m ${dispmode} -meshdispmode m2 ${dispmode} -meshdispmode m3 ${dispmode} -meshdispmode m4 ${dispmode} -meshdispmode m5 ${dispmode} -meshdispmode m6 ${dispmode} -meshdispmode m7 ${dispmode} -meshdispmode m8 ${dispmode} -meshdispmode m9 ${dispmode} +vsetdispmode m ${dispmode} +vsetdispmode m2 ${dispmode} +vsetdispmode m3 ${dispmode} +vsetdispmode m4 ${dispmode} +vsetdispmode m5 ${dispmode} +vsetdispmode m6 ${dispmode} +vsetdispmode m7 ${dispmode} +vsetdispmode m8 ${dispmode} +vsetdispmode m9 ${dispmode} -meshdispmode m11 ${dispmode} -meshdispmode m12 ${dispmode} -meshdispmode m13 ${dispmode} -meshdispmode m14 ${dispmode} -meshdispmode m15 ${dispmode} -meshdispmode m16 ${dispmode} -meshdispmode m17 ${dispmode} -meshdispmode m18 ${dispmode} -meshdispmode m19 ${dispmode} +vsetdispmode m11 ${dispmode} +vsetdispmode m12 ${dispmode} +vsetdispmode m13 ${dispmode} +vsetdispmode m14 ${dispmode} +vsetdispmode m15 ${dispmode} +vsetdispmode m16 ${dispmode} +vsetdispmode m17 ${dispmode} +vsetdispmode m18 ${dispmode} +vsetdispmode m19 ${dispmode} -meshdispmode m21 ${dispmode} -meshdispmode m22 ${dispmode} -meshdispmode m23 ${dispmode} -meshdispmode m24 ${dispmode} -meshdispmode m25 ${dispmode} -meshdispmode m26 ${dispmode} -meshdispmode m27 ${dispmode} -meshdispmode m28 ${dispmode} -meshdispmode m29 ${dispmode} +vsetdispmode m21 ${dispmode} +vsetdispmode m22 ${dispmode} +vsetdispmode m23 ${dispmode} +vsetdispmode m24 ${dispmode} +vsetdispmode m25 ${dispmode} +vsetdispmode m26 ${dispmode} +vsetdispmode m27 ${dispmode} +vsetdispmode m28 ${dispmode} +vsetdispmode m29 ${dispmode} -meshselmode m 8 +vselmode m 8 1 dchrono tmr start diff --git a/tests/perf/multi_mesh_selection/B6 b/tests/perf/multi_mesh_selection/B6 index a3936dfc3a..00d2065e3a 100644 --- a/tests/perf/multi_mesh_selection/B6 +++ b/tests/perf/multi_mesh_selection/B6 @@ -4,37 +4,37 @@ puts "Object haves wireframe mode" set dispmode 1 -meshdispmode m ${dispmode} -meshdispmode m2 ${dispmode} -meshdispmode m3 ${dispmode} -meshdispmode m4 ${dispmode} -meshdispmode m5 ${dispmode} -meshdispmode m6 ${dispmode} -meshdispmode m7 ${dispmode} -meshdispmode m8 ${dispmode} -meshdispmode m9 ${dispmode} +vsetdispmode m ${dispmode} +vsetdispmode m2 ${dispmode} +vsetdispmode m3 ${dispmode} +vsetdispmode m4 ${dispmode} +vsetdispmode m5 ${dispmode} +vsetdispmode m6 ${dispmode} +vsetdispmode m7 ${dispmode} +vsetdispmode m8 ${dispmode} +vsetdispmode m9 ${dispmode} -meshdispmode m11 ${dispmode} -meshdispmode m12 ${dispmode} -meshdispmode m13 ${dispmode} -meshdispmode m14 ${dispmode} -meshdispmode m15 ${dispmode} -meshdispmode m16 ${dispmode} -meshdispmode m17 ${dispmode} -meshdispmode m18 ${dispmode} -meshdispmode m19 ${dispmode} +vsetdispmode m11 ${dispmode} +vsetdispmode m12 ${dispmode} +vsetdispmode m13 ${dispmode} +vsetdispmode m14 ${dispmode} +vsetdispmode m15 ${dispmode} +vsetdispmode m16 ${dispmode} +vsetdispmode m17 ${dispmode} +vsetdispmode m18 ${dispmode} +vsetdispmode m19 ${dispmode} -meshdispmode m21 ${dispmode} -meshdispmode m22 ${dispmode} -meshdispmode m23 ${dispmode} -meshdispmode m24 ${dispmode} -meshdispmode m25 ${dispmode} -meshdispmode m26 ${dispmode} -meshdispmode m27 ${dispmode} -meshdispmode m28 ${dispmode} -meshdispmode m29 ${dispmode} +vsetdispmode m21 ${dispmode} +vsetdispmode m22 ${dispmode} +vsetdispmode m23 ${dispmode} +vsetdispmode m24 ${dispmode} +vsetdispmode m25 ${dispmode} +vsetdispmode m26 ${dispmode} +vsetdispmode m27 ${dispmode} +vsetdispmode m28 ${dispmode} +vsetdispmode m29 ${dispmode} -meshselmode m 1 +vselmode m 1 1 dchrono tmr start diff --git a/tests/perf/multi_mesh_selection/B7 b/tests/perf/multi_mesh_selection/B7 index 93e4113250..4f8e77e32f 100644 --- a/tests/perf/multi_mesh_selection/B7 +++ b/tests/perf/multi_mesh_selection/B7 @@ -4,37 +4,37 @@ puts "Object haves wireframe mode" set dispmode 1 -meshdispmode m ${dispmode} -meshdispmode m2 ${dispmode} -meshdispmode m3 ${dispmode} -meshdispmode m4 ${dispmode} -meshdispmode m5 ${dispmode} -meshdispmode m6 ${dispmode} -meshdispmode m7 ${dispmode} -meshdispmode m8 ${dispmode} -meshdispmode m9 ${dispmode} +vsetdispmode m ${dispmode} +vsetdispmode m2 ${dispmode} +vsetdispmode m3 ${dispmode} +vsetdispmode m4 ${dispmode} +vsetdispmode m5 ${dispmode} +vsetdispmode m6 ${dispmode} +vsetdispmode m7 ${dispmode} +vsetdispmode m8 ${dispmode} +vsetdispmode m9 ${dispmode} -meshdispmode m11 ${dispmode} -meshdispmode m12 ${dispmode} -meshdispmode m13 ${dispmode} -meshdispmode m14 ${dispmode} -meshdispmode m15 ${dispmode} -meshdispmode m16 ${dispmode} -meshdispmode m17 ${dispmode} -meshdispmode m18 ${dispmode} -meshdispmode m19 ${dispmode} +vsetdispmode m11 ${dispmode} +vsetdispmode m12 ${dispmode} +vsetdispmode m13 ${dispmode} +vsetdispmode m14 ${dispmode} +vsetdispmode m15 ${dispmode} +vsetdispmode m16 ${dispmode} +vsetdispmode m17 ${dispmode} +vsetdispmode m18 ${dispmode} +vsetdispmode m19 ${dispmode} -meshdispmode m21 ${dispmode} -meshdispmode m22 ${dispmode} -meshdispmode m23 ${dispmode} -meshdispmode m24 ${dispmode} -meshdispmode m25 ${dispmode} -meshdispmode m26 ${dispmode} -meshdispmode m27 ${dispmode} -meshdispmode m28 ${dispmode} -meshdispmode m29 ${dispmode} +vsetdispmode m21 ${dispmode} +vsetdispmode m22 ${dispmode} +vsetdispmode m23 ${dispmode} +vsetdispmode m24 ${dispmode} +vsetdispmode m25 ${dispmode} +vsetdispmode m26 ${dispmode} +vsetdispmode m27 ${dispmode} +vsetdispmode m28 ${dispmode} +vsetdispmode m29 ${dispmode} -meshselmode m 8 +vselmode m 8 1 dchrono tmr start diff --git a/tests/perf/multi_mesh_shading/begin b/tests/perf/multi_mesh_shading/begin index 4adc56606b..7effd8aa3d 100644 --- a/tests/perf/multi_mesh_shading/begin +++ b/tests/perf/multi_mesh_shading/begin @@ -1,6 +1,6 @@ pload XSDRAW vinit -meshdispmode m 2 +vsetdispmode m 2 meshfromstl m [locate_data_file b.stl] meshfromstl m2 [locate_data_file b2.stl] @@ -35,35 +35,35 @@ meshfromstl m29 [locate_data_file b29.stl] vtrihedron tri set dispmode 2 -meshdispmode m ${dispmode} -meshdispmode m2 ${dispmode} -meshdispmode m3 ${dispmode} -meshdispmode m4 ${dispmode} -meshdispmode m5 ${dispmode} -meshdispmode m6 ${dispmode} -meshdispmode m7 ${dispmode} -meshdispmode m8 ${dispmode} -meshdispmode m9 ${dispmode} +vsetdispmode m ${dispmode} +vsetdispmode m2 ${dispmode} +vsetdispmode m3 ${dispmode} +vsetdispmode m4 ${dispmode} +vsetdispmode m5 ${dispmode} +vsetdispmode m6 ${dispmode} +vsetdispmode m7 ${dispmode} +vsetdispmode m8 ${dispmode} +vsetdispmode m9 ${dispmode} -meshdispmode m11 ${dispmode} -meshdispmode m12 ${dispmode} -meshdispmode m13 ${dispmode} -meshdispmode m14 ${dispmode} -meshdispmode m15 ${dispmode} -meshdispmode m16 ${dispmode} -meshdispmode m17 ${dispmode} -meshdispmode m18 ${dispmode} -meshdispmode m19 ${dispmode} +vsetdispmode m11 ${dispmode} +vsetdispmode m12 ${dispmode} +vsetdispmode m13 ${dispmode} +vsetdispmode m14 ${dispmode} +vsetdispmode m15 ${dispmode} +vsetdispmode m16 ${dispmode} +vsetdispmode m17 ${dispmode} +vsetdispmode m18 ${dispmode} +vsetdispmode m19 ${dispmode} -meshdispmode m21 ${dispmode} -meshdispmode m22 ${dispmode} -meshdispmode m23 ${dispmode} -meshdispmode m24 ${dispmode} -meshdispmode m25 ${dispmode} -meshdispmode m26 ${dispmode} -meshdispmode m27 ${dispmode} -meshdispmode m28 ${dispmode} -meshdispmode m29 ${dispmode} +vsetdispmode m21 ${dispmode} +vsetdispmode m22 ${dispmode} +vsetdispmode m23 ${dispmode} +vsetdispmode m24 ${dispmode} +vsetdispmode m25 ${dispmode} +vsetdispmode m26 ${dispmode} +vsetdispmode m27 ${dispmode} +vsetdispmode m28 ${dispmode} +vsetdispmode m29 ${dispmode} vzoom 0.5 diff --git a/tests/perf/multi_mesh_shrink/begin b/tests/perf/multi_mesh_shrink/begin index 804e1b25b7..7459421ca8 100644 --- a/tests/perf/multi_mesh_shrink/begin +++ b/tests/perf/multi_mesh_shrink/begin @@ -34,35 +34,35 @@ meshfromstl m29 [locate_data_file b29.stl] vtrihedron tri set dispmode 3 -meshdispmode m ${dispmode} -meshdispmode m2 ${dispmode} -meshdispmode m3 ${dispmode} -meshdispmode m4 ${dispmode} -meshdispmode m5 ${dispmode} -meshdispmode m6 ${dispmode} -meshdispmode m7 ${dispmode} -meshdispmode m8 ${dispmode} -meshdispmode m9 ${dispmode} +vsetdispmode m ${dispmode} +vsetdispmode m2 ${dispmode} +vsetdispmode m3 ${dispmode} +vsetdispmode m4 ${dispmode} +vsetdispmode m5 ${dispmode} +vsetdispmode m6 ${dispmode} +vsetdispmode m7 ${dispmode} +vsetdispmode m8 ${dispmode} +vsetdispmode m9 ${dispmode} -meshdispmode m11 ${dispmode} -meshdispmode m12 ${dispmode} -meshdispmode m13 ${dispmode} -meshdispmode m14 ${dispmode} -meshdispmode m15 ${dispmode} -meshdispmode m16 ${dispmode} -meshdispmode m17 ${dispmode} -meshdispmode m18 ${dispmode} -meshdispmode m19 ${dispmode} +vsetdispmode m11 ${dispmode} +vsetdispmode m12 ${dispmode} +vsetdispmode m13 ${dispmode} +vsetdispmode m14 ${dispmode} +vsetdispmode m15 ${dispmode} +vsetdispmode m16 ${dispmode} +vsetdispmode m17 ${dispmode} +vsetdispmode m18 ${dispmode} +vsetdispmode m19 ${dispmode} -meshdispmode m21 ${dispmode} -meshdispmode m22 ${dispmode} -meshdispmode m23 ${dispmode} -meshdispmode m24 ${dispmode} -meshdispmode m25 ${dispmode} -meshdispmode m26 ${dispmode} -meshdispmode m27 ${dispmode} -meshdispmode m28 ${dispmode} -meshdispmode m29 ${dispmode} +vsetdispmode m21 ${dispmode} +vsetdispmode m22 ${dispmode} +vsetdispmode m23 ${dispmode} +vsetdispmode m24 ${dispmode} +vsetdispmode m25 ${dispmode} +vsetdispmode m26 ${dispmode} +vsetdispmode m27 ${dispmode} +vsetdispmode m28 ${dispmode} +vsetdispmode m29 ${dispmode} vzoom 0.5 diff --git a/tests/perf/multi_mesh_wireframe/begin b/tests/perf/multi_mesh_wireframe/begin index 8e0f0ca498..d2f39a8fce 100644 --- a/tests/perf/multi_mesh_wireframe/begin +++ b/tests/perf/multi_mesh_wireframe/begin @@ -34,35 +34,35 @@ meshfromstl m29 [locate_data_file b29.stl] vtrihedron tri set dispmode 1 -meshdispmode m ${dispmode} -meshdispmode m2 ${dispmode} -meshdispmode m3 ${dispmode} -meshdispmode m4 ${dispmode} -meshdispmode m5 ${dispmode} -meshdispmode m6 ${dispmode} -meshdispmode m7 ${dispmode} -meshdispmode m8 ${dispmode} -meshdispmode m9 ${dispmode} +vsetdispmode m ${dispmode} +vsetdispmode m2 ${dispmode} +vsetdispmode m3 ${dispmode} +vsetdispmode m4 ${dispmode} +vsetdispmode m5 ${dispmode} +vsetdispmode m6 ${dispmode} +vsetdispmode m7 ${dispmode} +vsetdispmode m8 ${dispmode} +vsetdispmode m9 ${dispmode} -meshdispmode m11 ${dispmode} -meshdispmode m12 ${dispmode} -meshdispmode m13 ${dispmode} -meshdispmode m14 ${dispmode} -meshdispmode m15 ${dispmode} -meshdispmode m16 ${dispmode} -meshdispmode m17 ${dispmode} -meshdispmode m18 ${dispmode} -meshdispmode m19 ${dispmode} +vsetdispmode m11 ${dispmode} +vsetdispmode m12 ${dispmode} +vsetdispmode m13 ${dispmode} +vsetdispmode m14 ${dispmode} +vsetdispmode m15 ${dispmode} +vsetdispmode m16 ${dispmode} +vsetdispmode m17 ${dispmode} +vsetdispmode m18 ${dispmode} +vsetdispmode m19 ${dispmode} -meshdispmode m21 ${dispmode} -meshdispmode m22 ${dispmode} -meshdispmode m23 ${dispmode} -meshdispmode m24 ${dispmode} -meshdispmode m25 ${dispmode} -meshdispmode m26 ${dispmode} -meshdispmode m27 ${dispmode} -meshdispmode m28 ${dispmode} -meshdispmode m29 ${dispmode} +vsetdispmode m21 ${dispmode} +vsetdispmode m22 ${dispmode} +vsetdispmode m23 ${dispmode} +vsetdispmode m24 ${dispmode} +vsetdispmode m25 ${dispmode} +vsetdispmode m26 ${dispmode} +vsetdispmode m27 ${dispmode} +vsetdispmode m28 ${dispmode} +vsetdispmode m29 ${dispmode} vzoom 0.5 diff --git a/tests/perf/single_mesh_selection/A1 b/tests/perf/single_mesh_selection/A1 index e52a76c68e..714a61191a 100644 --- a/tests/perf/single_mesh_selection/A1 +++ b/tests/perf/single_mesh_selection/A1 @@ -3,7 +3,7 @@ puts "Display/erase 1 MeshVS_Mesh" puts "Object haves wireframe mode" -meshdispmode m 1 +vsetdispmode m 1 dchrono tmr start diff --git a/tests/perf/single_mesh_selection/A2 b/tests/perf/single_mesh_selection/A2 index 84bb38fad9..b816909d85 100644 --- a/tests/perf/single_mesh_selection/A2 +++ b/tests/perf/single_mesh_selection/A2 @@ -3,7 +3,7 @@ puts "Display/erase 1 MeshVS_Mesh" puts "Object haves shading mode" -meshdispmode m 2 +vsetdispmode m 2 dchrono tmr start diff --git a/tests/perf/single_mesh_selection/A3 b/tests/perf/single_mesh_selection/A3 index 2822507b2e..ee14f2f79b 100644 --- a/tests/perf/single_mesh_selection/A3 +++ b/tests/perf/single_mesh_selection/A3 @@ -3,7 +3,7 @@ puts "Display/erase 1 MeshVS_Mesh" puts "Object haves shrink mode" -meshdispmode m 3 +vsetdispmode m 3 dchrono tmr start diff --git a/tests/perf/single_mesh_selection/A4 b/tests/perf/single_mesh_selection/A4 index fa6f8baa78..ab14ef2fc6 100644 --- a/tests/perf/single_mesh_selection/A4 +++ b/tests/perf/single_mesh_selection/A4 @@ -3,11 +3,11 @@ puts "Activation of NODE selection mode for MeshVS_Mesh" puts "Object haves wireframe mode" -meshdispmode m 1 +vsetdispmode m 1 dchrono tmr start for {set i 1} {$i < 100} {incr i} { - meshselmode m 1 - meshselmode m -1 + vselmode m 1 1 + vselmode m 0 0 } diff --git a/tests/perf/single_mesh_selection/A5 b/tests/perf/single_mesh_selection/A5 index bb03858625..82ebd9eb31 100644 --- a/tests/perf/single_mesh_selection/A5 +++ b/tests/perf/single_mesh_selection/A5 @@ -3,11 +3,11 @@ puts "Activation of FACE selection mode for MeshVS_Mesh" puts "Object haves wireframe mode" -meshdispmode m 1 +vsetdispmode m 1 dchrono tmr start for {set i 1} {$i < 100} {incr i} { - meshselmode m 8 - meshselmode m -1 + vselmode m 8 1 + vselmode m 0 0 } diff --git a/tests/perf/single_mesh_selection/A6 b/tests/perf/single_mesh_selection/A6 index 6475fc4786..71ab7b8079 100644 --- a/tests/perf/single_mesh_selection/A6 +++ b/tests/perf/single_mesh_selection/A6 @@ -3,11 +3,11 @@ puts "Activation of WHOLE MESH selection mode for MeshVS_Mesh" puts "Object haves wireframe mode" -meshdispmode m 1 +vsetdispmode m 1 dchrono tmr start for {set i 1} {$i < 100} {incr i} { - meshselmode m 0 - meshselmode m -1 + vselmode m 0 1 + vselmode m 0 0 } diff --git a/tests/perf/single_mesh_selection/A7 b/tests/perf/single_mesh_selection/A7 index a6734c31df..61a4ed1fb7 100644 --- a/tests/perf/single_mesh_selection/A7 +++ b/tests/perf/single_mesh_selection/A7 @@ -3,8 +3,8 @@ puts "Interactive selection of whole MeshVS_Mesh object by point-and-click for M puts "Object haves wireframe mode" -meshdispmode m 1 -meshselmode m 0 +vsetdispmode m 1 +vselmode m 0 1 dchrono tmr start diff --git a/tests/perf/single_mesh_selection/A8 b/tests/perf/single_mesh_selection/A8 index 70a38359f6..181d076308 100644 --- a/tests/perf/single_mesh_selection/A8 +++ b/tests/perf/single_mesh_selection/A8 @@ -3,8 +3,8 @@ puts "Interactive selection of whole MeshVS_Mesh object by point-and-click for M puts "Object haves shading mode" -meshdispmode m 2 -meshselmode m 0 +vsetdispmode m 2 +vselmode m 0 1 dchrono tmr start diff --git a/tests/perf/single_mesh_selection/A9 b/tests/perf/single_mesh_selection/A9 index a966881ab7..8433f79316 100644 --- a/tests/perf/single_mesh_selection/A9 +++ b/tests/perf/single_mesh_selection/A9 @@ -3,8 +3,8 @@ puts "Interactive selection of whole MeshVS_Mesh object by point-and-click for M puts "Object haves shrink mode" -meshdispmode m 3 -meshselmode m 0 +vsetdispmode m 3 +vselmode m 0 1 dchrono tmr start diff --git a/tests/perf/single_mesh_selection/B1 b/tests/perf/single_mesh_selection/B1 index c56932b497..b7094c5ba9 100644 --- a/tests/perf/single_mesh_selection/B1 +++ b/tests/perf/single_mesh_selection/B1 @@ -3,8 +3,8 @@ puts "Interactive selection of whole MeshVS_Mesh object by rectangular selection puts "Object haves wireframe mode" -meshdispmode m 1 -meshselmode m 0 +vsetdispmode m 1 +vselmode m 0 1 dchrono tmr start diff --git a/tests/perf/single_mesh_selection/B2 b/tests/perf/single_mesh_selection/B2 index faf40ab3ab..575255e580 100644 --- a/tests/perf/single_mesh_selection/B2 +++ b/tests/perf/single_mesh_selection/B2 @@ -3,8 +3,8 @@ puts "Interactive selection of whole MeshVS_Mesh object by rectangular selection puts "Object haves shading mode" -meshdispmode m 2 -meshselmode m 0 +vsetdispmode m 2 +vselmode m 0 1 dchrono tmr start diff --git a/tests/perf/single_mesh_selection/B3 b/tests/perf/single_mesh_selection/B3 index 724ec3ceef..07e9e97e00 100644 --- a/tests/perf/single_mesh_selection/B3 +++ b/tests/perf/single_mesh_selection/B3 @@ -3,8 +3,8 @@ puts "Interactive selection of whole MeshVS_Mesh object by rectangular selection puts "Object haves shrink mode" -meshdispmode m 3 -meshselmode m 0 +vsetdispmode m 3 +vselmode m 0 1 dchrono tmr start diff --git a/tests/perf/single_mesh_selection/B4 b/tests/perf/single_mesh_selection/B4 index 18a4a13129..23e2b58add 100644 --- a/tests/perf/single_mesh_selection/B4 +++ b/tests/perf/single_mesh_selection/B4 @@ -3,8 +3,8 @@ puts "Interactive selection of sub-objects (NODES) by point-and-click for MeshVS puts "Object haves wireframe mode" -meshdispmode m 1 -meshselmode m 1 +vsetdispmode m 1 +vselmode m 1 1 dchrono tmr start diff --git a/tests/perf/single_mesh_selection/B5 b/tests/perf/single_mesh_selection/B5 index 72632008e8..a083e4ff9b 100644 --- a/tests/perf/single_mesh_selection/B5 +++ b/tests/perf/single_mesh_selection/B5 @@ -3,8 +3,8 @@ puts "Interactive selection of sub-objects (FACES) by point-and-click for MeshVS puts "Object haves wireframe mode" -meshdispmode m 1 -meshselmode m 8 +vsetdispmode m 1 +vselmode m 8 1 dchrono tmr start diff --git a/tests/perf/single_mesh_selection/B6 b/tests/perf/single_mesh_selection/B6 index 3e94953b12..0ed9ef1246 100644 --- a/tests/perf/single_mesh_selection/B6 +++ b/tests/perf/single_mesh_selection/B6 @@ -3,8 +3,8 @@ puts "Interactive selection of sub-objects (NODES) by rectangular selection for puts "Object haves wireframe mode" -meshdispmode m 1 -meshselmode m 1 +vsetdispmode m 1 +vselmode m 1 1 dchrono tmr start diff --git a/tests/perf/single_mesh_selection/B7 b/tests/perf/single_mesh_selection/B7 index d0498d74d8..1057288b96 100644 --- a/tests/perf/single_mesh_selection/B7 +++ b/tests/perf/single_mesh_selection/B7 @@ -3,8 +3,8 @@ puts "Interactive selection of sub-objects (FACES) by rectangular selection for puts "Object haves wireframe mode" -meshdispmode m 1 -meshselmode m 8 +vsetdispmode m 1 +vselmode m 8 1 dchrono tmr start diff --git a/tests/perf/single_mesh_shading/begin b/tests/perf/single_mesh_shading/begin index 49ea5647f4..f91c02f7b1 100644 --- a/tests/perf/single_mesh_shading/begin +++ b/tests/perf/single_mesh_shading/begin @@ -2,7 +2,7 @@ pload XSDRAW vinit meshfromstl m [locate_data_file b.stl] vtrihedron tri -meshdispmode m 2 +vsetdispmode m 2 vzoom 0.1 diff --git a/tests/perf/single_mesh_shrink/begin b/tests/perf/single_mesh_shrink/begin index dc5c311cec..fd0c3b80bd 100644 --- a/tests/perf/single_mesh_shrink/begin +++ b/tests/perf/single_mesh_shrink/begin @@ -2,7 +2,7 @@ pload XSDRAW vinit meshfromstl m [locate_data_file b.stl] vtrihedron tri -meshdispmode m 3 +vsetdispmode m 3 vzoom 0.1 diff --git a/tests/perf/single_mesh_wireframe/begin b/tests/perf/single_mesh_wireframe/begin index f3c2d9025a..ba277d0b5f 100644 --- a/tests/perf/single_mesh_wireframe/begin +++ b/tests/perf/single_mesh_wireframe/begin @@ -2,7 +2,7 @@ pload XSDRAW vinit meshfromstl m [locate_data_file b.stl] vtrihedron tri -meshdispmode m 1 +vsetdispmode m 1 vzoom 0.1 diff --git a/tests/v3d/end b/tests/v3d/end index c7941ec3e6..be897336cb 100755 --- a/tests/v3d/end +++ b/tests/v3d/end @@ -1,6 +1,8 @@ catch { vfit } -if { ![info exists to_dump_screen] && [ catch { vdump $imagedir/${test_image}.png } catch_result ] } { - puts $catch_result +if { ![info exists subgroup] || $subgroup != "mesh" } { + if { ![info exists to_dump_screen] && [ catch { vdump $imagedir/${test_image}.png } catch_result ] } { + puts $catch_result + } } catch { vglinfo } diff --git a/tests/v3d/mesh/A1 b/tests/v3d/mesh/A1 new file mode 100644 index 0000000000..fd42f01fd4 --- /dev/null +++ b/tests/v3d/mesh/A1 @@ -0,0 +1,11 @@ +vclear +meshfromstl m [locate_data_file b.stl] +vselmode m 8 1 +vselect 150 100 1 +vselect 200 200 1 +vselect 250 250 1 +vselect 200 100 1 +vselect 250 100 1 +meshhidesel m +vrotate -0.9 0 0 +vdump $::imagedir/${::casename}.png diff --git a/tests/v3d/mesh/A2 b/tests/v3d/mesh/A2 new file mode 100644 index 0000000000..4e6efcd98f --- /dev/null +++ b/tests/v3d/mesh/A2 @@ -0,0 +1,10 @@ +vclear +meshfromstl m [locate_data_file b.stl] +vselmode m 8 1 +vselect 150 100 1 +vselect 200 200 1 +vselect 250 250 1 +vselect 200 100 1 +vselect 250 100 1 +meshshowsel m +vdump $::imagedir/${::casename}.png diff --git a/tests/v3d/mesh/A3 b/tests/v3d/mesh/A3 new file mode 100644 index 0000000000..339162438f --- /dev/null +++ b/tests/v3d/mesh/A3 @@ -0,0 +1,6 @@ +vclear +meshfromstl m [locate_data_file b.stl] +vselmode m 1 1 +vselect 0 0 500 500 +meshshowsel m +vdump $::imagedir/${::casename}.png diff --git a/tests/v3d/mesh/A4 b/tests/v3d/mesh/A4 new file mode 100644 index 0000000000..e650458c64 --- /dev/null +++ b/tests/v3d/mesh/A4 @@ -0,0 +1,7 @@ +vclear +meshfromstl m [locate_data_file b.stl] +meshshowall m +vselmode m 1 1 +vselect 0 0 250 200 +meshhidesel m +vdump $::imagedir/${::casename}.png diff --git a/tests/v3d/mesh/A5 b/tests/v3d/mesh/A5 new file mode 100644 index 0000000000..a2f6a720bf --- /dev/null +++ b/tests/v3d/mesh/A5 @@ -0,0 +1,9 @@ +vclear +meshfromstl m1 [locate_data_file b.stl] +meshfromstl m2 [locate_data_file b2.stl] +meshfromstl m3 [locate_data_file b3.stl] +vsetdispmode m1 2 +vsetdispmode m2 3 +vdump $::imagedir/${::casename}_dsd.png +meshhide m3 +vdump $::imagedir/${::casename}_hdn.png diff --git a/tests/v3d/mesh/A6 b/tests/v3d/mesh/A6 new file mode 100644 index 0000000000..d1a2a3ff9b --- /dev/null +++ b/tests/v3d/mesh/A6 @@ -0,0 +1,10 @@ +vclear +meshfromstl m1 [locate_data_file b.stl] +meshfromstl m2 [locate_data_file bug24961_m.stl] +meshfromstl m3 [locate_data_file b2.stl] +meshfromstl m4 [locate_data_file b3.stl] +meshcolors m1 elem1 0 +meshcolors m2 elem2 0 +meshcolors m3 nodal 1 +meshcolors m4 nodaltex 1 +vdump $::imagedir/${::casename}.png diff --git a/tests/v3d/mesh/A7 b/tests/v3d/mesh/A7 new file mode 100644 index 0000000000..d2bb847932 --- /dev/null +++ b/tests/v3d/mesh/A7 @@ -0,0 +1,11 @@ +meshfromstl m [locate_data_file b.stl] +meshtext m +vsetdispmode m 33 +vrotate 0.3 0 0 +vdump $::imagedir/${::casename}_txt.png +meshvectors m -mode elem -maxlen 10 -color green -arrowpart 0.5 -issipmle 0 +vsetdispmode m 5 +vdump $::imagedir/${::casename}_vct1.png +meshvectors m -mode nodal -maxlen 20 -color white -issimple 1 +vfit +vdump $::imagedir/${::casename}_vct2.png diff --git a/tests/v3d/mesh/A8 b/tests/v3d/mesh/A8 new file mode 100644 index 0000000000..839660fe58 --- /dev/null +++ b/tests/v3d/mesh/A8 @@ -0,0 +1,4 @@ +vclear +meshfromstl m [locate_data_file bug24961_m.stl] +meshdeform m -mode on -scale 20 +vdump $::imagedir/${::casename}.png diff --git a/tests/v3d/mesh/B1 b/tests/v3d/mesh/B1 new file mode 100644 index 0000000000..214bdc064b --- /dev/null +++ b/tests/v3d/mesh/B1 @@ -0,0 +1,11 @@ +vclear +mesh3delem m +vrotate 1.5 0 0 +vrotate 0 0.5 0 +vdump $::imagedir/${::casename}_crtd.png +vsetdispmode m 2 +vdump $::imagedir/${::casename}_m2.png +vsetdispmode m 3 +vdump $::imagedir/${::casename}_m3.png +meshhide m +vdump $::imagedir/${::casename}_hdn.png diff --git a/tests/v3d/mesh/B2 b/tests/v3d/mesh/B2 new file mode 100644 index 0000000000..6aa006c6e5 --- /dev/null +++ b/tests/v3d/mesh/B2 @@ -0,0 +1,9 @@ +vclear +mesh3delem m +vrotate 1.5 0 0 +vrotate 0 0.5 0 +vselmode m 16 1 +vselect 200 200 1 +vselect 200 300 1 +meshhidesel m +vdump $::imagedir/${::casename}.png diff --git a/tests/v3d/mesh/B3 b/tests/v3d/mesh/B3 new file mode 100644 index 0000000000..43037f6a04 --- /dev/null +++ b/tests/v3d/mesh/B3 @@ -0,0 +1,9 @@ +vclear +mesh3delem m +vrotate 1.5 0 0 +vrotate 0 0.5 0 +vselmode m 16 1 +vselect 200 200 1 +vselect 200 300 1 +meshshowsel m +vdump $::imagedir/${::casename}.png diff --git a/tests/v3d/mesh/B4 b/tests/v3d/mesh/B4 new file mode 100644 index 0000000000..255ca71fc0 --- /dev/null +++ b/tests/v3d/mesh/B4 @@ -0,0 +1,8 @@ +vclear +mesh3delem m +vrotate 1.5 0 0 +vrotate 0 0.5 0 +vselmode m 1 1 +vselect 0 0 300 200 +meshshowsel m +vdump $::imagedir/${::casename}.png diff --git a/tests/v3d/mesh/B5 b/tests/v3d/mesh/B5 new file mode 100644 index 0000000000..780dad46e5 --- /dev/null +++ b/tests/v3d/mesh/B5 @@ -0,0 +1,9 @@ +vclear +mesh3delem m +vrotate 1.5 0 0 +vrotate 0 0.5 0 +meshshowall m +vselmode m 1 1 +vselect 0 0 300 200 +meshhidesel m +vdump $::imagedir/${::casename}.png diff --git a/tests/v3d/mesh/B6 b/tests/v3d/mesh/B6 new file mode 100644 index 0000000000..2c6e5df162 --- /dev/null +++ b/tests/v3d/mesh/B6 @@ -0,0 +1,10 @@ +vclear +mesh3delem m +vrotate 1.5 0 0 +vrotate 0 0.5 0 +meshcolors m elem1 0 +vdump $::imagedir/${::casename}_el1.png +meshcolors m nodal 1 +vdump $::imagedir/${::casename}_nd.png +meshcolors m nodaltex 1 +vdump $::imagedir/${::casename}_ndtx.png diff --git a/tests/v3d/mesh/B7 b/tests/v3d/mesh/B7 new file mode 100644 index 0000000000..afd1f7ac0b --- /dev/null +++ b/tests/v3d/mesh/B7 @@ -0,0 +1,13 @@ +vclear +mesh3delem m +vrotate 1.5 0 0 +vrotate 0 0.5 0 +meshtext m +vsetdispmode m 33 +vdump $::imagedir/${::casename}_txt.png +meshvectors m -mode elem -maxlen 10 -color green -arrowpart 0.5 -issipmle 0 +vsetdispmode m 5 +vdump $::imagedir/${::casename}_vct1.png +meshvectors m -mode nodal -maxlen 20 -color white -issimple 1 +vfit +vdump $::imagedir/${::casename}_vct2.png diff --git a/tests/v3d/mesh/B8 b/tests/v3d/mesh/B8 new file mode 100644 index 0000000000..38fbbbe9b4 --- /dev/null +++ b/tests/v3d/mesh/B8 @@ -0,0 +1,7 @@ +vclear +mesh3delem m +vrotate 1.5 0 0 +vrotate 0 0.5 0 +meshdeform m -mode on -scale 20 +vrotate 0 -0.7 0 +vdump $::imagedir/${::casename}.png diff --git a/tests/v3d/mesh/begin b/tests/v3d/mesh/begin new file mode 100644 index 0000000000..a7d7cb8003 --- /dev/null +++ b/tests/v3d/mesh/begin @@ -0,0 +1,3 @@ +set subgroup "mesh" +pload XSDRAW +vinit \ No newline at end of file