1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-03 17:56:21 +03:00

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
This commit is contained in:
anv 2014-09-26 16:26:12 +04:00 committed by bugmaster
parent ec661e4333
commit 709e97a0c1
75 changed files with 1718 additions and 875 deletions

View File

@ -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;
}
}
}

View File

@ -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;

View File

@ -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();

View File

@ -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())

View File

@ -23,6 +23,8 @@ is
class DataSource;
class DataSource3D;
class DrawableMesh;
class ElemNodesMap instantiates DataMap from TCollection

View File

@ -54,11 +54,15 @@
#include <MeshVS_DrawerAttribute.hxx>
#include <MeshVS_MeshEntityOwner.hxx>
#include <MeshVS_DataMapOfIntegerAsciiString.hxx>
#include <XSDRAWSTLVRML_DataSource.hxx>
#include <XSDRAWSTLVRML_DrawableMesh.hxx>
#include <MeshVS_NodalColorPrsBuilder.hxx>
#include <MeshVS_ElementalColorPrsBuilder.hxx>
#include <MeshVS_VectorPrsBuilder.hxx>
#include <MeshVS_DeformedDataSource.hxx>
#include <XSDRAWSTLVRML_DataSource.hxx>
#include <XSDRAWSTLVRML_DataSource3D.hxx>
#include <XSDRAWSTLVRML_DrawableMesh.hxx>
#include <Quantity_NameOfColor.hxx>
#include <TColgp_SequenceOfXYZ.hxx>
#include <TColStd_HPackedMapOfInteger.hxx>
@ -81,16 +85,20 @@
#include <stdio.h>
#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] << " <mesh name> <stl file>" << "\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] << " <mesh name>" << "\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] << " <mesh name>" << "\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] << " <mesh name>" << "\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] << " <mesh name>" << "\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 <mesh name> <mode> <isreflect>" << "\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 <mesh name> < -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 <mesh name>" << "\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 <mesh name> < -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 <mesh name> <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 <shape name> <file name>" << "\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 );
}
//==============================================================================

View File

@ -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;

View File

@ -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 <XSDRAWSTLVRML_DataSource3D.ixx>
#include <StlMesh_SequenceOfMeshTriangle.hxx>
#include <StlMesh_MeshTriangle.hxx>
#include <TColgp_SequenceOfXYZ.hxx>
#include <TColStd_DataMapOfIntegerReal.hxx>
#include <TColStd_DataMapOfIntegerInteger.hxx>
//================================================================
// 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;
}

View File

@ -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

View File

@ -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
}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -3,7 +3,7 @@ puts "Display/erase 1 MeshVS_Mesh"
puts "Object haves wireframe mode"
meshdispmode m 1
vsetdispmode m 1
dchrono tmr start

View File

@ -3,7 +3,7 @@ puts "Display/erase 1 MeshVS_Mesh"
puts "Object haves shading mode"
meshdispmode m 2
vsetdispmode m 2
dchrono tmr start

View File

@ -3,7 +3,7 @@ puts "Display/erase 1 MeshVS_Mesh"
puts "Object haves shrink mode"
meshdispmode m 3
vsetdispmode m 3
dchrono tmr start

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 }

11
tests/v3d/mesh/A1 Normal file
View File

@ -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

10
tests/v3d/mesh/A2 Normal file
View File

@ -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

6
tests/v3d/mesh/A3 Normal file
View File

@ -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

7
tests/v3d/mesh/A4 Normal file
View File

@ -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

9
tests/v3d/mesh/A5 Normal file
View File

@ -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

10
tests/v3d/mesh/A6 Normal file
View File

@ -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

11
tests/v3d/mesh/A7 Normal file
View File

@ -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

4
tests/v3d/mesh/A8 Normal file
View File

@ -0,0 +1,4 @@
vclear
meshfromstl m [locate_data_file bug24961_m.stl]
meshdeform m -mode on -scale 20
vdump $::imagedir/${::casename}.png

11
tests/v3d/mesh/B1 Normal file
View File

@ -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

9
tests/v3d/mesh/B2 Normal file
View File

@ -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

9
tests/v3d/mesh/B3 Normal file
View File

@ -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

8
tests/v3d/mesh/B4 Normal file
View File

@ -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

9
tests/v3d/mesh/B5 Normal file
View File

@ -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

10
tests/v3d/mesh/B6 Normal file
View File

@ -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

13
tests/v3d/mesh/B7 Normal file
View File

@ -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

7
tests/v3d/mesh/B8 Normal file
View File

@ -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

3
tests/v3d/mesh/begin Normal file
View File

@ -0,0 +1,3 @@
set subgroup "mesh"
pload XSDRAW
vinit