mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-04 18:06:22 +03:00
0023539: QASelect and QAShiftSelect commands
Replaced QAMoveTo, QASelect and QAShiftSelect draw commands with vmoveto and vselect Moved vselect and vmoveto draw commands to ViewerTest_ViewerCommands.cxx Replaced QAMoveTo and QASelect in test cases. Corrected returned error case result in vselect and vmoveto. Added commands in ViewerTest_ViewerCommands from QADraw. Edited tests. QACommands in tests were replaced with ViewerTest commands. QAxwd command was removed from QADraw. Edited command wzoom and commands from ViewerTest. Help for ViewerTest commands was edited Small corrections. Added test cases for polygonal selection. Small correction of test cases
This commit is contained in:
parent
5ae15e0ef7
commit
4754e16481
@ -136,69 +136,94 @@ static Standard_Integer zoom(Draw_Interpretor& , Standard_Integer n, const char*
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
static Standard_Integer wzoom(Draw_Interpretor& di, Standard_Integer, const char**)
|
||||
static Standard_Integer wzoom(Draw_Interpretor& di, Standard_Integer argc, const char** argv)
|
||||
{
|
||||
Standard_Integer id1,X1,Y1,b;
|
||||
Standard_Integer X2,Y2;
|
||||
Standard_Real dX1,dY1,dX2,dY2;
|
||||
di << "Pick first corner"<<"\n";
|
||||
dout.Select(id1,X1,Y1,b);
|
||||
Standard_Integer id,X,Y,W,H,X1,Y1,X2,Y2,b;
|
||||
Standard_Real dX1,dY1,dX2,dY2,zx,zy;
|
||||
if(argc != 1 && argc != 6)
|
||||
{
|
||||
di<<"Usage : " << argv[0] << " [view-id X1 Y1 X2 Y2]\n";
|
||||
return 1;
|
||||
}
|
||||
if(argc == 1)
|
||||
{
|
||||
di << "Pick first corner"<<"\n";
|
||||
dout.Select(id,X1,Y1,b);
|
||||
|
||||
gp_Trsf T;
|
||||
gp_Pnt P0(0,0,0);
|
||||
dout.GetTrsf(id1,T);
|
||||
T.Invert();
|
||||
P0.Transform(T);
|
||||
Standard_Real z = dout.Zoom(id1);
|
||||
gp_Trsf T;
|
||||
gp_Pnt P0(0,0,0);
|
||||
dout.GetTrsf(id,T);
|
||||
T.Invert();
|
||||
P0.Transform(T);
|
||||
Standard_Real z = dout.Zoom(id);
|
||||
|
||||
dX1=X1; dY1=Y1;
|
||||
dX1-=P0.X(); dY1-=P0.Y();
|
||||
dX1/=z; dY1/=z;
|
||||
|
||||
if (b != 1) return 0;
|
||||
if (id1 < 0) return 0;
|
||||
Draw_Display d = dout.MakeDisplay(id1);
|
||||
d.SetColor(Draw_blanc);
|
||||
d.SetMode(10);
|
||||
Standard_Real dOX2 = dX1;
|
||||
Standard_Real dOY2 = dY1;
|
||||
d.Draw(gp_Pnt2d(dX1,dY1),gp_Pnt2d(dX1,dOY2));
|
||||
d.Draw(gp_Pnt2d(dX1,dOY2),gp_Pnt2d(dOX2,dOY2));
|
||||
d.Draw(gp_Pnt2d(dOX2,dOY2),gp_Pnt2d(dOX2,dY1));
|
||||
d.Draw(gp_Pnt2d(dOX2,dY1),gp_Pnt2d(dX1,dY1));
|
||||
d.Flush();
|
||||
Standard_Real zx,zy;
|
||||
Standard_Integer X,Y,W,H;
|
||||
dout.GetPosSize(id1,X,Y,W,H);
|
||||
di << "Pick second corner"<<"\n";
|
||||
b = 0;
|
||||
while (b == 0) {
|
||||
dout.Select(id1,X2,Y2,b,Standard_False);
|
||||
dX2=X2; dY2=Y2;
|
||||
dX2-=P0.X(); dY2-=P0.Y();
|
||||
dX2/=z; dY2/=z;
|
||||
dX1=X1; dY1=Y1;
|
||||
dX1-=P0.X(); dY1-=P0.Y();
|
||||
dX1/=z; dY1/=z;
|
||||
|
||||
if (b != 1) return 0;
|
||||
if (id < 0) return 0;
|
||||
Draw_Display d = dout.MakeDisplay(id);
|
||||
d.SetColor(Draw_blanc);
|
||||
d.SetMode(10);
|
||||
Standard_Real dOX2 = dX1;
|
||||
Standard_Real dOY2 = dY1;
|
||||
d.Draw(gp_Pnt2d(dX1,dY1),gp_Pnt2d(dX1,dOY2));
|
||||
d.Draw(gp_Pnt2d(dX1,dOY2),gp_Pnt2d(dOX2,dOY2));
|
||||
d.Draw(gp_Pnt2d(dOX2,dOY2),gp_Pnt2d(dOX2,dY1));
|
||||
d.Draw(gp_Pnt2d(dOX2,dY1),gp_Pnt2d(dX1,dY1));
|
||||
d.Draw(gp_Pnt2d(dX1,dY1),gp_Pnt2d(dX1,dY2));
|
||||
d.Draw(gp_Pnt2d(dX1,dY2),gp_Pnt2d(dX2,dY2));
|
||||
d.Draw(gp_Pnt2d(dX2,dY2),gp_Pnt2d(dX2,dY1));
|
||||
d.Draw(gp_Pnt2d(dX2,dY1),gp_Pnt2d(dX1,dY1));
|
||||
d.Flush();
|
||||
dOX2 = dX2;
|
||||
dOY2 = dY2;
|
||||
dout.GetPosSize(id,X,Y,W,H);
|
||||
di << "Pick second corner"<<"\n";
|
||||
b = 0;
|
||||
while (b == 0) {
|
||||
dout.Select(id,X2,Y2,b,Standard_False);
|
||||
dX2=X2; dY2=Y2;
|
||||
dX2-=P0.X(); dY2-=P0.Y();
|
||||
dX2/=z; dY2/=z;
|
||||
|
||||
d.Draw(gp_Pnt2d(dX1,dY1),gp_Pnt2d(dX1,dOY2));
|
||||
d.Draw(gp_Pnt2d(dX1,dOY2),gp_Pnt2d(dOX2,dOY2));
|
||||
d.Draw(gp_Pnt2d(dOX2,dOY2),gp_Pnt2d(dOX2,dY1));
|
||||
d.Draw(gp_Pnt2d(dOX2,dY1),gp_Pnt2d(dX1,dY1));
|
||||
d.Draw(gp_Pnt2d(dX1,dY1),gp_Pnt2d(dX1,dY2));
|
||||
d.Draw(gp_Pnt2d(dX1,dY2),gp_Pnt2d(dX2,dY2));
|
||||
d.Draw(gp_Pnt2d(dX2,dY2),gp_Pnt2d(dX2,dY1));
|
||||
d.Draw(gp_Pnt2d(dX2,dY1),gp_Pnt2d(dX1,dY1));
|
||||
d.Flush();
|
||||
dOX2 = dX2;
|
||||
dOY2 = dY2;
|
||||
}
|
||||
d.Draw(gp_Pnt2d(dX1,dY1),gp_Pnt2d(dX1,dOY2));
|
||||
d.Draw(gp_Pnt2d(dX1,dOY2),gp_Pnt2d(dOX2,dOY2));
|
||||
d.Draw(gp_Pnt2d(dOX2,dOY2),gp_Pnt2d(dOX2,dY1));
|
||||
d.Draw(gp_Pnt2d(dOX2,dY1),gp_Pnt2d(dX1,dY1));
|
||||
d.Flush();
|
||||
if (b != 1) return 0;
|
||||
d.SetMode(0);
|
||||
}
|
||||
else
|
||||
{
|
||||
id = atoi(argv[1]);
|
||||
if ((id < 0) || (id >= MAXVIEW))
|
||||
{
|
||||
cout << "Incorrect view-id, must be in 0.."<<MAXVIEW-1<<endl;
|
||||
return 1;
|
||||
}
|
||||
if (!dout.HasView(id))
|
||||
{
|
||||
cout <<"View "<<id<<" does not exist."<<endl;
|
||||
return 1;
|
||||
}
|
||||
X1 = atoi (argv [2]);
|
||||
Y1 = atoi (argv [3]);
|
||||
X2 = atoi (argv [4]);
|
||||
Y2 = atoi (argv [5]);
|
||||
|
||||
dout.GetPosSize(id,X,Y,W,H);
|
||||
}
|
||||
d.Draw(gp_Pnt2d(dX1,dY1),gp_Pnt2d(dX1,dOY2));
|
||||
d.Draw(gp_Pnt2d(dX1,dOY2),gp_Pnt2d(dOX2,dOY2));
|
||||
d.Draw(gp_Pnt2d(dOX2,dOY2),gp_Pnt2d(dOX2,dY1));
|
||||
d.Draw(gp_Pnt2d(dOX2,dY1),gp_Pnt2d(dX1,dY1));
|
||||
d.Flush();
|
||||
if (b != 1) return 0;
|
||||
|
||||
if ((X1 == X2) || (Y1 == Y2)) return 0;
|
||||
|
||||
zx = (Standard_Real) Abs(X2-X1) / (Standard_Real) W;
|
||||
zy = (Standard_Real) Abs(Y2-Y1) / (Standard_Real) H;
|
||||
if (zy > zx) zx = zy;
|
||||
@ -207,11 +232,10 @@ static Standard_Integer wzoom(Draw_Interpretor& di, Standard_Integer, const char
|
||||
if (Y2 > Y1) Y1 = Y2;
|
||||
X1 = (Standard_Integer ) (X1*zx);
|
||||
Y1 = (Standard_Integer ) (Y1*zx);
|
||||
d.SetMode(0);
|
||||
dout.SetZoom(id1,zx*dout.Zoom(id1));
|
||||
dout.SetPan(id1,-X1,-Y1);
|
||||
dout.RepaintView(id1);
|
||||
SetTitle(id1);
|
||||
dout.SetZoom(id,zx*dout.Zoom(id));
|
||||
dout.SetPan(id,-X1,-Y1);
|
||||
dout.RepaintView(id);
|
||||
SetTitle(id);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -947,8 +971,11 @@ void Draw::GraphicCommands(Draw_Interpretor& theCommands)
|
||||
__FILE__,zoom,g);
|
||||
theCommands.Add("2dzoom","2dzoom [view-id] z, or zoom2d z for all 2d views",
|
||||
__FILE__,zoom,g);
|
||||
theCommands.Add("wzoom","zoom on a window",
|
||||
__FILE__,wzoom,g);
|
||||
theCommands.Add("wzoom","wzoom [view-id X1 Y1 X2 Y2]\n"
|
||||
"- fits the contents of a given rectangle into a view window.\n"
|
||||
"- The view window and rectangle corners are specified through the arguments\n"
|
||||
"- or selected interactively by the user if no arguments are given",
|
||||
__FILE__,wzoom,g);
|
||||
theCommands.Add("view","view view-id type X(0) Y(0) W(500) H(500)",
|
||||
__FILE__,view,g);
|
||||
theCommands.Add("delete","delete [view-id]",
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -29,6 +29,7 @@ uses
|
||||
Draw,
|
||||
TCollection,
|
||||
TColStd,
|
||||
TColgp,
|
||||
TopAbs,
|
||||
TopTools,
|
||||
TopoDS,
|
||||
|
@ -560,7 +560,8 @@ void ViewerTest::StandardModeActivation(const Standard_Integer mode )
|
||||
case 4: cmode = "Face"; break;
|
||||
case 5: cmode = "Shell"; break;
|
||||
case 6: cmode = "Solid"; break;
|
||||
case 7: cmode = "Compound"; break;
|
||||
case 7: cmode = "Compsolid"; break;
|
||||
case 8: cmode = "Compound"; break;
|
||||
}
|
||||
|
||||
if(theactivatedmodes.Contains(mode))
|
||||
@ -578,128 +579,6 @@ void ViewerTest::StandardModeActivation(const Standard_Integer mode )
|
||||
}
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
//function : SelectFromContext
|
||||
//purpose : pick / select an object from the last MoveTo() on a
|
||||
// ButtonPress event
|
||||
//==============================================================================
|
||||
|
||||
Handle(AIS_InteractiveObject) Select(Standard_Integer argc,
|
||||
const char** argv,
|
||||
Standard_Boolean shift,
|
||||
Standard_Boolean pick )
|
||||
{
|
||||
Handle(AIS_InteractiveObject) ret;
|
||||
Handle (ViewerTest_EventManager) EM = ViewerTest::CurrentEventManager();
|
||||
if ( shift ) {
|
||||
EM->ShiftSelect();
|
||||
}
|
||||
else {
|
||||
EM->Select();
|
||||
}
|
||||
const Handle(AIS_InteractiveContext) aContext = EM->Context();
|
||||
|
||||
if ( !aContext->HasOpenedContext() ) {
|
||||
aContext->InitCurrent();
|
||||
while ( aContext->MoreCurrent() ) {
|
||||
Handle(AIS_InteractiveObject) aisPickedShape =
|
||||
Handle(AIS_InteractiveObject)::DownCast(aContext->Current());
|
||||
|
||||
//JR/Hp
|
||||
const char *name = (GetMapOfAIS().IsBound1(aisPickedShape))?
|
||||
// const char *name = (GetMapOfAIS().IsBound1(aisPickedShape))?
|
||||
GetMapOfAIS().Find1(aisPickedShape).ToCString() :
|
||||
"????";
|
||||
Handle(AIS_Shape) TheRealSh = Handle(AIS_Shape)::DownCast(aisPickedShape);
|
||||
if(!TheRealSh.IsNull()){
|
||||
cout << "Current is " << name
|
||||
<< " (" << GetTypeNameFromShape(TheRealSh->Shape())
|
||||
<< ")" << endl;
|
||||
}
|
||||
ret = aisPickedShape;
|
||||
if(!TheRealSh.IsNull()){
|
||||
if ( pick && argc > 4 ) {
|
||||
DBRep::Set(argv[4], TheRealSh->Shape());
|
||||
}
|
||||
}
|
||||
aContext->NextCurrent();
|
||||
}
|
||||
}
|
||||
else {
|
||||
// A LocalContext is opened, the use xxxxSelected()
|
||||
// to select an object and its SubShape
|
||||
aContext->InitSelected();
|
||||
while ( aContext->MoreSelected() ) {
|
||||
if ( !aContext->HasSelectedShape() ) {
|
||||
}
|
||||
else {
|
||||
TopoDS_Shape PickedShape = aContext->SelectedShape();
|
||||
if ( pick && argc > 5 ) {
|
||||
DBRep::Set(argv[5], PickedShape);
|
||||
}
|
||||
}
|
||||
|
||||
if ( aContext->Interactive().IsNull() ) {
|
||||
cout << "??? (No InteractiveObject selected)" << endl;
|
||||
}
|
||||
else {
|
||||
Handle(AIS_InteractiveObject) aisPicked =
|
||||
Handle(AIS_InteractiveObject)::DownCast(aContext->Interactive());
|
||||
ret = aisPicked;
|
||||
Handle(AIS_Shape) aisPickedShape = Handle(AIS_Shape)::DownCast(aisPicked);
|
||||
|
||||
// Get back its name
|
||||
//JR/Hp
|
||||
const char *name = ( GetMapOfAIS().IsBound1(aisPicked) )?
|
||||
// const char *name = ( GetMapOfAIS().IsBound1(aisPicked) )?
|
||||
GetMapOfAIS().Find1(aisPicked).ToCString() :
|
||||
"????";
|
||||
|
||||
if(!aisPickedShape.IsNull()){
|
||||
if ( pick && argc > 4 ) {
|
||||
// Create a draw variable to store the wohole shape
|
||||
// for vpick command
|
||||
DBRep::Set(argv[4], aisPickedShape->Shape());
|
||||
}
|
||||
|
||||
cout << name << " (" << GetTypeNameFromShape(aisPickedShape->Shape())
|
||||
<< ")" << endl ;
|
||||
}
|
||||
}
|
||||
// Goto the next selected object
|
||||
aContext->NextSelected();
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
//function : DetectedFromContext
|
||||
//purpose : hilight dynamicaly an object from the last MoveTo() on a
|
||||
// MouseMove event
|
||||
//==============================================================================
|
||||
Handle(AIS_InteractiveObject) DetectedFromContext(
|
||||
Handle(AIS_InteractiveContext) aContext )
|
||||
{
|
||||
Handle(AIS_InteractiveObject) ret;
|
||||
if ( aContext->HasDetected() ) {
|
||||
if ( !aContext->HasDetectedShape() ) {
|
||||
//No SubShape selected
|
||||
}
|
||||
else {
|
||||
// Get the detected SubShape
|
||||
TopoDS_Shape PickedShape = aContext->DetectedShape();
|
||||
}
|
||||
if ( !aContext->DetectedInteractive().IsNull() ) {
|
||||
Handle(AIS_InteractiveObject) aisPickedShape =
|
||||
Handle(AIS_InteractiveObject)::DownCast(aContext->DetectedInteractive());
|
||||
ret = aisPickedShape;
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
//==============================================================================
|
||||
//function : VDispAreas,VDispSensitive,...
|
||||
//purpose : Redraw the view
|
||||
|
@ -26,8 +26,8 @@ class EventManager from ViewerTest inherits TShared from MMgt
|
||||
|
||||
uses
|
||||
View from V3d,
|
||||
InteractiveContext from AIS
|
||||
|
||||
InteractiveContext from AIS,
|
||||
Array1OfPnt2d from TColgp
|
||||
is
|
||||
|
||||
Create (aView: View from V3d;
|
||||
@ -44,6 +44,10 @@ is
|
||||
Select(me:mutable;xmin,ymin,xmax,ymax:Integer) is virtual;
|
||||
|
||||
ShiftSelect(me:mutable;xmin,ymin,xmax,ymax:Integer) is virtual;
|
||||
|
||||
Select(me:mutable;thePolyline:Array1OfPnt2d from TColgp) is virtual;
|
||||
|
||||
ShiftSelect(me:mutable;thePolyline:Array1OfPnt2d from TColgp) is virtual;
|
||||
|
||||
Context(me) returns InteractiveContext from AIS;
|
||||
---C++: inline
|
||||
|
@ -118,3 +118,47 @@ void ViewerTest_EventManager::ShiftSelect()
|
||||
if (!aView.IsNull())
|
||||
aView->Select(myX, myY, Standard_True);
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : Select
|
||||
//purpose : Selection with polyline
|
||||
//=======================================================================
|
||||
|
||||
void ViewerTest_EventManager::Select(const TColgp_Array1OfPnt2d& thePolyline)
|
||||
{
|
||||
if(!myCtx.IsNull() && !myView.IsNull())
|
||||
myCtx->Select(thePolyline,myView);
|
||||
const Handle(NIS_View) aView = Handle(NIS_View)::DownCast(myView);
|
||||
if (!aView.IsNull())
|
||||
{
|
||||
NCollection_List<gp_XY> aPolylist;
|
||||
for(Standard_Integer anIter = thePolyline.Lower();anIter <= thePolyline.Upper();++anIter)
|
||||
{
|
||||
aPolylist.Append(gp_XY(thePolyline.Value(anIter).X(),
|
||||
thePolyline.Value(anIter).Y()));
|
||||
}
|
||||
aView->Select(aPolylist);
|
||||
}
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : ShiftSelect
|
||||
//purpose : Selection with polyline without erasing of current selection
|
||||
//=======================================================================
|
||||
|
||||
void ViewerTest_EventManager::ShiftSelect(const TColgp_Array1OfPnt2d& thePolyline)
|
||||
{
|
||||
if(!myCtx.IsNull() && !myView.IsNull())
|
||||
myCtx->ShiftSelect(thePolyline,myView);
|
||||
const Handle(NIS_View) aView = Handle(NIS_View)::DownCast(myView);
|
||||
if (!aView.IsNull())
|
||||
{
|
||||
NCollection_List<gp_XY> aPolylist;
|
||||
for(Standard_Integer anIter = thePolyline.Lower();anIter <= thePolyline.Upper();++anIter)
|
||||
{
|
||||
aPolylist.Append(gp_XY(thePolyline.Value(anIter).X(),
|
||||
thePolyline.Value(anIter).Y()));
|
||||
}
|
||||
aView->Select(aPolylist, Standard_True);
|
||||
}
|
||||
}
|
||||
|
@ -34,6 +34,7 @@
|
||||
#include <Graphic3d_ExportFormat.hxx>
|
||||
#include <ViewerTest.hxx>
|
||||
#include <ViewerTest_EventManager.hxx>
|
||||
#include <ViewerTest_DoubleMapOfInteractiveAndName.hxx>
|
||||
#include <Visual3d_View.hxx>
|
||||
#include <Visual3d_ViewManager.hxx>
|
||||
#include <V3d_LayerMgr.hxx>
|
||||
@ -48,6 +49,8 @@
|
||||
#include <Image_AlienPixMap.hxx>
|
||||
#include <OSD_Timer.hxx>
|
||||
#include <TColStd_SequenceOfInteger.hxx>
|
||||
#include <TColStd_HSequenceOfReal.hxx>
|
||||
#include <TColgp_Array1OfPnt2d.hxx>
|
||||
#include <Visual3d_LayerItem.hxx>
|
||||
#include <V3d_LayerMgr.hxx>
|
||||
#include <V3d_LayerMgrPointer.hxx>
|
||||
@ -94,6 +97,7 @@ Standard_IMPORT Standard_Boolean Draw_VirtualWindows;
|
||||
|
||||
Standard_EXPORT int ViewerMainLoop(Standard_Integer , const char** argv);
|
||||
extern const Handle(NIS_InteractiveContext)& TheNISContext();
|
||||
extern ViewerTest_DoubleMapOfInteractiveAndName& GetMapOfAIS();
|
||||
|
||||
#if defined(_WIN32) || defined(__WIN32__)
|
||||
static Handle(Graphic3d_WNTGraphicDevice)& GetG3dDevice(){
|
||||
@ -3097,6 +3101,526 @@ static int VDiffImage (Draw_Interpretor& theDI, Standard_Integer theArgNb, const
|
||||
return 0;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : VSelect
|
||||
//purpose : Emulates different types of selection by mouse:
|
||||
// 1) single click selection
|
||||
// 2) selection with rectangle having corners at pixel positions (x1,y1) and (x2,y2)
|
||||
// 3) selection with polygon having corners at
|
||||
// pixel positions (x1,y1),...,(xn,yn)
|
||||
// 4) any of these selections with shift button pressed
|
||||
//=======================================================================
|
||||
static Standard_Integer VSelect (Draw_Interpretor& di,
|
||||
Standard_Integer argc,
|
||||
const char ** argv)
|
||||
{
|
||||
if(argc < 3)
|
||||
{
|
||||
di << "Usage : " << argv[0] << " x1 y1 [x2 y2 [... xn yn]] [shift_selection = 1|0]" << "\n";
|
||||
return 1;
|
||||
}
|
||||
|
||||
Handle(AIS_InteractiveContext) myAIScontext = ViewerTest::GetAISContext();
|
||||
if(myAIScontext.IsNull())
|
||||
{
|
||||
di << "use 'vinit' command before " << argv[0] << "\n";
|
||||
return 1;
|
||||
}
|
||||
const Standard_Boolean isShiftSelection = (argc>3 && !(argc%2) && (atoi(argv[argc-1])==1));
|
||||
Handle(ViewerTest_EventManager) aCurrentEventManager = ViewerTest::CurrentEventManager();
|
||||
aCurrentEventManager->MoveTo(atoi(argv[1]),atoi(argv[2]));
|
||||
if(argc <= 4)
|
||||
{
|
||||
if(isShiftSelection)
|
||||
aCurrentEventManager->ShiftSelect();
|
||||
else
|
||||
aCurrentEventManager->Select();
|
||||
}
|
||||
else if(argc <= 6)
|
||||
{
|
||||
if(isShiftSelection)
|
||||
aCurrentEventManager->ShiftSelect(atoi(argv[1]),atoi(argv[2]),atoi(argv[3]),atoi(argv[4]));
|
||||
else
|
||||
aCurrentEventManager->Select(atoi(argv[1]),atoi(argv[2]),atoi(argv[3]),atoi(argv[4]));
|
||||
}
|
||||
else
|
||||
{
|
||||
Standard_Integer anUpper = 0;
|
||||
|
||||
if(isShiftSelection)
|
||||
anUpper = (argc-1)/2;
|
||||
else
|
||||
anUpper = argc/2;
|
||||
TColgp_Array1OfPnt2d aPolyline(1,anUpper);
|
||||
|
||||
for(Standard_Integer i=1;i<=anUpper;++i)
|
||||
aPolyline.SetValue(i,gp_Pnt2d(atoi(argv[2*i-1]),atoi(argv[2*i])));
|
||||
|
||||
if(isShiftSelection)
|
||||
aCurrentEventManager->ShiftSelect(aPolyline);
|
||||
else
|
||||
aCurrentEventManager->Select(aPolyline);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : VMoveTo
|
||||
//purpose : Emulates cursor movement to defined pixel position
|
||||
//=======================================================================
|
||||
static Standard_Integer VMoveTo (Draw_Interpretor& di,
|
||||
Standard_Integer argc,
|
||||
const char ** argv)
|
||||
{
|
||||
if(argc != 3)
|
||||
{
|
||||
di << "Usage : " << argv[0] << " x y" << "\n";
|
||||
return 1;
|
||||
}
|
||||
|
||||
Handle(AIS_InteractiveContext) aContext = ViewerTest::GetAISContext();
|
||||
if(aContext.IsNull())
|
||||
{
|
||||
di << "use 'vinit' command before " << argv[0] << "\n";
|
||||
return 1;
|
||||
}
|
||||
ViewerTest::CurrentEventManager()->MoveTo(atoi(argv[1]),atoi(argv[2]));
|
||||
return 0;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : VViewParams
|
||||
//purpose : Gets or sets AIS View characteristics
|
||||
//=======================================================================
|
||||
static Standard_Integer VViewParams (Draw_Interpretor& di,
|
||||
Standard_Integer argc,
|
||||
const char ** argv)
|
||||
{
|
||||
if ( argc != 1 && argc != 13)
|
||||
{
|
||||
di << "Usage : " << argv[0] << "\n";
|
||||
return 1;
|
||||
}
|
||||
Handle (V3d_View) anAISView = ViewerTest::CurrentView ();
|
||||
if ( anAISView.IsNull () )
|
||||
{
|
||||
di << "use 'vinit' command before " << argv[0] << "\n";
|
||||
return 1;
|
||||
}
|
||||
if(argc==1){
|
||||
Quantity_Factor anAISViewScale = anAISView -> V3d_View::Scale ();
|
||||
Standard_Real anAISViewCenterCoordinateX = 0.0;
|
||||
Standard_Real anAISViewCenterCoordinateY = 0.0;
|
||||
anAISView -> V3d_View::Center (anAISViewCenterCoordinateX, anAISViewCenterCoordinateY);
|
||||
Standard_Real anAISViewProjX = 0.0;
|
||||
Standard_Real anAISViewProjY = 0.0;
|
||||
Standard_Real anAISViewProjZ = 0.0;
|
||||
anAISView -> V3d_View::Proj (anAISViewProjX, anAISViewProjY, anAISViewProjZ);
|
||||
Standard_Real anAISViewUpX = 0.0;
|
||||
Standard_Real anAISViewUpY = 0.0;
|
||||
Standard_Real anAISViewUpZ = 0.0;
|
||||
anAISView -> V3d_View::Up (anAISViewUpX, anAISViewUpY, anAISViewUpZ);
|
||||
Standard_Real anAISViewAtX = 0.0;
|
||||
Standard_Real anAISViewAtY = 0.0;
|
||||
Standard_Real anAISViewAtZ = 0.0;
|
||||
anAISView -> V3d_View::At (anAISViewAtX, anAISViewAtY, anAISViewAtZ);
|
||||
di << "Scale of current view: " << anAISViewScale << "\n";
|
||||
di << "Center on X : "<< anAISViewCenterCoordinateX << "; on Y: " << anAISViewCenterCoordinateY << "\n";
|
||||
di << "Proj on X : " << anAISViewProjX << "; on Y: " << anAISViewProjY << "; on Z: " << anAISViewProjZ << "\n";
|
||||
di << "Up on X : " << anAISViewUpX << "; on Y: " << anAISViewUpY << "; on Z: " << anAISViewUpZ << "\n";
|
||||
di << "At on X : " << anAISViewAtX << "; on Y: " << anAISViewAtY << "; on Z: " << anAISViewAtZ << "\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
Quantity_Factor anAISViewScale = atof (argv [1]);
|
||||
Standard_Real anAISViewCenterCoordinateX = atof (argv [2]);
|
||||
Standard_Real anAISViewCenterCoordinateY = atof (argv [3]);
|
||||
Standard_Real anAISViewProjX = atof (argv [4]);
|
||||
Standard_Real anAISViewProjY = atof (argv [5]);
|
||||
Standard_Real anAISViewProjZ = atof (argv [6]);
|
||||
Standard_Real anAISViewUpX = atof (argv [7]);
|
||||
Standard_Real anAISViewUpY = atof (argv [8]);
|
||||
Standard_Real anAISViewUpZ = atof (argv [9]);
|
||||
Standard_Real anAISViewAtX = atof (argv [10]);
|
||||
Standard_Real anAISViewAtY = atof (argv [11]);
|
||||
Standard_Real anAISViewAtZ = atof (argv [12]);
|
||||
anAISView -> V3d_View::SetScale (anAISViewScale);
|
||||
anAISView -> V3d_View::SetCenter (anAISViewCenterCoordinateX, anAISViewCenterCoordinateY);
|
||||
anAISView -> V3d_View::SetAt (anAISViewAtX, anAISViewAtY, anAISViewAtZ);
|
||||
anAISView -> V3d_View::SetProj (anAISViewProjX, anAISViewProjY, anAISViewProjZ);
|
||||
anAISView -> V3d_View::SetUp (anAISViewUpX, anAISViewUpY, anAISViewUpZ);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : VChangeSelected
|
||||
//purpose : Adds the shape to selection or remove one from it
|
||||
//=======================================================================
|
||||
static Standard_Integer VChangeSelected (Draw_Interpretor& di,
|
||||
Standard_Integer argc,
|
||||
const char ** argv)
|
||||
{
|
||||
if(argc != 2)
|
||||
{
|
||||
di<<"Usage : " << argv[0] << " shape \n";
|
||||
return 1;
|
||||
}
|
||||
//get AIS_Shape:
|
||||
Handle(AIS_InteractiveContext) aContext = ViewerTest::GetAISContext();
|
||||
ViewerTest_DoubleMapOfInteractiveAndName& aMap = GetMapOfAIS();
|
||||
TCollection_AsciiString aName(argv[1]);
|
||||
Handle(AIS_InteractiveObject) anAISObject;
|
||||
|
||||
if(!aMap.IsBound2(aName))
|
||||
{
|
||||
di<<"Use 'vdisplay' before";
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
anAISObject = Handle(AIS_InteractiveObject)::DownCast(aMap.Find2(aName));
|
||||
if(anAISObject.IsNull()){
|
||||
di<<"No interactive object \n";
|
||||
return 1;
|
||||
}
|
||||
|
||||
if(aContext->HasOpenedContext())
|
||||
{
|
||||
aContext->AddOrRemoveSelected(anAISObject);
|
||||
}
|
||||
else
|
||||
{
|
||||
aContext->AddOrRemoveCurrentObject(anAISObject);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : VZClipping
|
||||
//purpose : Gets or sets ZClipping mode, width and depth
|
||||
//=======================================================================
|
||||
static Standard_Integer VZClipping (Draw_Interpretor& di,
|
||||
Standard_Integer argc,
|
||||
const char ** argv)
|
||||
{
|
||||
if(argc>4)
|
||||
{
|
||||
di << "Usage : " << argv[0] << " [mode] [depth width]" << "\n"
|
||||
<<"mode = OFF|BACK|FRONT|SLICE depth = [0..1] width = [0..1]" << "\n";
|
||||
return -1;
|
||||
}
|
||||
Handle(AIS_InteractiveContext) aContext = ViewerTest::GetAISContext();
|
||||
if(aContext.IsNull())
|
||||
{
|
||||
di << "use 'vinit' command before " << argv[0] << "\n";
|
||||
return 1;
|
||||
}
|
||||
Handle(V3d_View) aView = ViewerTest::CurrentView();
|
||||
V3d_TypeOfZclipping aZClippingMode;
|
||||
if(argc==1)
|
||||
{
|
||||
TCollection_AsciiString aZClippingModeString;
|
||||
Quantity_Length aDepth, aWidth;
|
||||
aZClippingMode = aView->ZClipping(aDepth, aWidth);
|
||||
switch (aZClippingMode)
|
||||
{
|
||||
case V3d_OFF:
|
||||
aZClippingModeString.Copy("OFF");
|
||||
break;
|
||||
case V3d_BACK:
|
||||
aZClippingModeString.Copy("BACK");
|
||||
break;
|
||||
case V3d_FRONT:
|
||||
aZClippingModeString.Copy("FRONT");
|
||||
break;
|
||||
case V3d_SLICE:
|
||||
aZClippingModeString.Copy("SLICE");
|
||||
break;
|
||||
default:
|
||||
aZClippingModeString.Copy(TCollection_AsciiString(aZClippingMode));
|
||||
break;
|
||||
}
|
||||
di << "ZClippingMode = " << aZClippingModeString.ToCString() << "\n"
|
||||
<< "ZClipping depth = " << aDepth << "\n"
|
||||
<< "ZClipping width = " << aWidth << "\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
if(argc !=3)
|
||||
{
|
||||
Standard_Integer aStatus = 0;
|
||||
if ( strcmp (argv [1], "OFF") == 0 ) {
|
||||
aStatus = 1;
|
||||
aZClippingMode = V3d_OFF;
|
||||
}
|
||||
if ( strcmp (argv [1], "BACK") == 0 ) {
|
||||
aStatus = 1;
|
||||
aZClippingMode = V3d_BACK;
|
||||
}
|
||||
if ( strcmp (argv [1], "FRONT") == 0 ) {
|
||||
aStatus = 1;
|
||||
aZClippingMode = V3d_FRONT;
|
||||
}
|
||||
if ( strcmp (argv [1], "SLICE") == 0 ) {
|
||||
aStatus = 1;
|
||||
aZClippingMode = V3d_SLICE;
|
||||
}
|
||||
if (aStatus != 1)
|
||||
{
|
||||
di << "Bad mode; Usage : " << argv[0] << " [mode] [depth width]" << "\n"
|
||||
<< "mode = OFF|BACK|FRONT|SLICE depth = [0..1] width = [0..1]" << "\n";
|
||||
return 1;
|
||||
}
|
||||
aView->SetZClippingType(aZClippingMode);
|
||||
}
|
||||
if(argc >2)
|
||||
{
|
||||
Quantity_Length aDepth = 0., aWidth = 1.;
|
||||
if(argc == 3)
|
||||
{
|
||||
aDepth = atof(argv[1]);
|
||||
aWidth = atof(argv[2]);
|
||||
}
|
||||
else if(argc == 4)
|
||||
{
|
||||
aDepth = atof(argv[2]);
|
||||
aWidth = atof(argv[3]);
|
||||
}
|
||||
|
||||
if(aDepth<0. || aDepth>1.)
|
||||
{
|
||||
di << "Bad depth; Usage : " << argv[0] << " [mode] [depth width]" << "\n"
|
||||
<< "mode = OFF|BACK|FRONT|SLICE depth = [0..1] width = [0..1]" << "\n";
|
||||
return 1;
|
||||
}
|
||||
if(aWidth<0. || aWidth>1.)
|
||||
{
|
||||
di << "Bad width; Usage : " << argv[0] << " [mode] [depth width]" << "\n"
|
||||
<< "mode = OFF|BACK|FRONT|SLICE depth = [0..1] width = [0..1]" << "\n";
|
||||
return 1;
|
||||
}
|
||||
|
||||
aView->SetZClippingDepth(aDepth);
|
||||
aView->SetZClippingWidth(aWidth);
|
||||
}
|
||||
aView->Redraw();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : VNbSelected
|
||||
//purpose : Returns number of selected objects
|
||||
//=======================================================================
|
||||
static Standard_Integer VNbSelected (Draw_Interpretor& di,
|
||||
Standard_Integer argc,
|
||||
const char ** argv)
|
||||
{
|
||||
if(argc != 1)
|
||||
{
|
||||
di << "Usage : " << argv[0] << "\n";
|
||||
return 1;
|
||||
}
|
||||
Handle(AIS_InteractiveContext) aContext = ViewerTest::GetAISContext();
|
||||
if(aContext.IsNull())
|
||||
{
|
||||
di << "use 'vinit' command before " << argv[0] << "\n";
|
||||
return 1;
|
||||
}
|
||||
di << aContext->NbSelected() << "\n";
|
||||
return 0;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : VAntialiasing
|
||||
//purpose : Switches altialiasing on or off
|
||||
//=======================================================================
|
||||
static Standard_Integer VAntialiasing (Draw_Interpretor& di,
|
||||
Standard_Integer argc,
|
||||
const char ** argv)
|
||||
{
|
||||
if(argc > 2)
|
||||
{
|
||||
di << "Usage : " << argv[0] << " [1|0]" << "\n";
|
||||
return 1;
|
||||
}
|
||||
|
||||
Handle(AIS_InteractiveContext) aContext = ViewerTest::GetAISContext();
|
||||
if(aContext.IsNull())
|
||||
{
|
||||
di << "use 'vinit' command before " << argv[0] << "\n";
|
||||
return 1;
|
||||
}
|
||||
|
||||
Handle(V3d_View) aView = ViewerTest::CurrentView();
|
||||
|
||||
if((argc == 2) && (atof(argv[1]) == 0))
|
||||
aView->SetAntialiasingOff();
|
||||
else
|
||||
aView->SetAntialiasingOn();
|
||||
aView->Update();
|
||||
return 0;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : VPurgeDisplay
|
||||
//purpose : Switches altialiasing on or off
|
||||
//=======================================================================
|
||||
static Standard_Integer VPurgeDisplay (Draw_Interpretor& di,
|
||||
Standard_Integer argc,
|
||||
const char ** argv)
|
||||
{
|
||||
if (argc > 2)
|
||||
{
|
||||
di << "Usage : " << argv[0] << " [CollectorToo = 0|1]" << "\n";
|
||||
return 1;
|
||||
}
|
||||
Standard_Boolean isCollectorToo = Standard_False;
|
||||
if (argc == 2)
|
||||
{
|
||||
isCollectorToo = (atoi(argv [1]) != 0);
|
||||
}
|
||||
Handle(AIS_InteractiveContext) aContext = ViewerTest::GetAISContext();
|
||||
if (aContext.IsNull())
|
||||
{
|
||||
di << "use 'vinit' command before " << argv[0] << "\n";
|
||||
return 1;
|
||||
}
|
||||
aContext->CloseAllContexts(Standard_False);
|
||||
di << aContext->PurgeDisplay(isCollectorToo) << "\n";
|
||||
return 0;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : VSetViewSize
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
static Standard_Integer VSetViewSize (Draw_Interpretor& di,
|
||||
Standard_Integer argc,
|
||||
const char ** argv)
|
||||
{
|
||||
Handle(AIS_InteractiveContext) aContext = ViewerTest::GetAISContext();
|
||||
if(aContext.IsNull())
|
||||
{
|
||||
di << "use 'vinit' command before " << argv[0] << "\n";
|
||||
return 1;
|
||||
}
|
||||
if(argc != 2)
|
||||
{
|
||||
di<<"Usage : " << argv[0] << " Size\n";
|
||||
return 1;
|
||||
}
|
||||
Standard_Real aSize = atof(argv[1]);
|
||||
if (aSize <= 0.)
|
||||
{
|
||||
di<<"Bad Size value : " << aSize << "\n";
|
||||
return 1;
|
||||
}
|
||||
|
||||
Handle(V3d_View) aView = ViewerTest::CurrentView();
|
||||
aView->SetSize(aSize);
|
||||
return 0;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : VMoveView
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
static Standard_Integer VMoveView (Draw_Interpretor& di,
|
||||
Standard_Integer argc,
|
||||
const char ** argv)
|
||||
{
|
||||
Handle(AIS_InteractiveContext) aContext = ViewerTest::GetAISContext();
|
||||
if(aContext.IsNull())
|
||||
{
|
||||
di << "use 'vinit' command before " << argv[0] << "\n";
|
||||
return 1;
|
||||
}
|
||||
if(argc < 4 || argc > 5)
|
||||
{
|
||||
di<<"Usage : " << argv[0] << " Dx Dy Dz [Start = 1|0]\n";
|
||||
return 1;
|
||||
}
|
||||
Standard_Real Dx = atof(argv[1]);
|
||||
Standard_Real Dy = atof(argv[2]);
|
||||
Standard_Real Dz = atof(argv[3]);
|
||||
Standard_Boolean aStart = Standard_True;
|
||||
if (argc == 5)
|
||||
{
|
||||
aStart = (atoi(argv[4]) > 0);
|
||||
}
|
||||
|
||||
Handle(V3d_View) aView = ViewerTest::CurrentView();
|
||||
aView->Move(Dx,Dy,Dz,aStart);
|
||||
return 0;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : VTranslateView
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
static Standard_Integer VTranslateView (Draw_Interpretor& di,
|
||||
Standard_Integer argc,
|
||||
const char ** argv)
|
||||
{
|
||||
Handle(AIS_InteractiveContext) aContext = ViewerTest::GetAISContext();
|
||||
if(aContext.IsNull())
|
||||
{
|
||||
di << "use 'vinit' command before " << argv[0] << "\n";
|
||||
return 1;
|
||||
}
|
||||
if(argc < 4 || argc > 5)
|
||||
{
|
||||
di<<"Usage : " << argv[0] << " Dx Dy Dz [Start = 1|0]\n";
|
||||
return 1;
|
||||
}
|
||||
Standard_Real Dx = atof(argv[1]);
|
||||
Standard_Real Dy = atof(argv[2]);
|
||||
Standard_Real Dz = atof(argv[3]);
|
||||
Standard_Boolean aStart = Standard_True;
|
||||
if (argc == 5)
|
||||
{
|
||||
aStart = (atoi(argv[4]) > 0);
|
||||
}
|
||||
|
||||
Handle(V3d_View) aView = ViewerTest::CurrentView();
|
||||
aView->Translate(Dx,Dy,Dz,aStart);
|
||||
return 0;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : VTurnView
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
static Standard_Integer VTurnView (Draw_Interpretor& di,
|
||||
Standard_Integer argc,
|
||||
const char ** argv)
|
||||
{
|
||||
Handle(AIS_InteractiveContext) aContext = ViewerTest::GetAISContext();
|
||||
if(aContext.IsNull()) {
|
||||
di << "use 'vinit' command before " << argv[0] << "\n";
|
||||
return 1;
|
||||
}
|
||||
if(argc < 4 || argc > 5){
|
||||
di<<"Usage : " << argv[0] << " Ax Ay Az [Start = 1|0]\n";
|
||||
return 1;
|
||||
}
|
||||
Standard_Real Ax = atof(argv[1]);
|
||||
Standard_Real Ay = atof(argv[2]);
|
||||
Standard_Real Az = atof(argv[3]);
|
||||
Standard_Boolean aStart = Standard_True;
|
||||
if (argc == 5)
|
||||
{
|
||||
aStart = (atoi(argv[4]) > 0);
|
||||
}
|
||||
|
||||
Handle(V3d_View) aView = ViewerTest::CurrentView();
|
||||
aView->Turn(Ax,Ay,Az,aStart);
|
||||
return 0;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : ViewerCommands
|
||||
//purpose :
|
||||
@ -3230,4 +3754,50 @@ void ViewerTest::ViewerCommands(Draw_Interpretor& theCommands)
|
||||
theCommands.Add("diffimage",
|
||||
"diffimage : diffimage imageFile1 imageFile2 toleranceOfColor(0..1) blackWhite(1|0) borderFilter(1|0) [diffImageFile]",
|
||||
__FILE__, VDiffImage, group);
|
||||
theCommands.Add ("vselect",
|
||||
"vselect x1 y1 [x2 y2 [x3 y3 ... xn yn]] [shift_selection = 0|1]\n"
|
||||
"- emulates different types of selection:\n"
|
||||
"- 1) single click selection\n"
|
||||
"- 2) selection with rectangle having corners at pixel positions (x1,y1) and (x2,y2)\n"
|
||||
"- 3) selection with polygon having corners in pixel positions (x1,y1), (x2,y2),...,(xn,yn)\n"
|
||||
"- 4) any of these selections with shift button pressed",
|
||||
__FILE__, VSelect, group);
|
||||
theCommands.Add ("vmoveto",
|
||||
"vmoveto x y"
|
||||
"- emulates cursor movement to pixel postion (x,y)",
|
||||
__FILE__, VMoveTo, group);
|
||||
theCommands.Add("vviewparams",
|
||||
"vviewparams [scale center_X center_Y proj_X proj_Y proj_Z up_X up_Y up_Z at_X at_Y at_Z]"
|
||||
"- gets or sets current view characteristics",
|
||||
__FILE__,VViewParams, group);
|
||||
theCommands.Add("vchangeselected",
|
||||
"vchangeselected shape"
|
||||
"- adds to shape to selection or remove one from it",
|
||||
__FILE__, VChangeSelected, group);
|
||||
theCommands.Add("vzclipping",
|
||||
"vzclipping [mode] [depth width]\n"
|
||||
"- mode = OFF|BACK|FRONT|SLICE depth = [0..1] width = [0..1]\n"
|
||||
"- gets or sets ZClipping mode, width and depth",
|
||||
__FILE__,VZClipping,group);
|
||||
theCommands.Add ("vnbselected",
|
||||
"vnbselected", __FILE__, VNbSelected, group);
|
||||
theCommands.Add("vantialiasing",
|
||||
"vantialiasing 1|0",
|
||||
__FILE__,VAntialiasing,group);
|
||||
theCommands.Add ("vpurgedisplay",
|
||||
"vpurgedisplay [CollectorToo = 0|1]"
|
||||
"- removes structures which don't belong to objects displayed in neutral point",
|
||||
__FILE__, VPurgeDisplay, group);
|
||||
theCommands.Add("vsetviewsize",
|
||||
"vsetviewsize size",
|
||||
__FILE__,VSetViewSize,group);
|
||||
theCommands.Add("vmoveview",
|
||||
"vmoveview Dx Dy Dz [Start = 1|0]",
|
||||
__FILE__,VMoveView,group);
|
||||
theCommands.Add("vtranslateview",
|
||||
"vtranslateview Dx Dy Dz [Start = 1|0)]",
|
||||
__FILE__,VTranslateView,group);
|
||||
theCommands.Add("vturnview",
|
||||
"vturnview Ax Ay Az [Start = 1|0]",
|
||||
__FILE__,VTurnView,group);
|
||||
}
|
||||
|
@ -25,8 +25,7 @@ if { ${stat} != 1 } {
|
||||
puts "Error : Shading is missing in 3D Viewer"
|
||||
}
|
||||
|
||||
QASelect 220 170
|
||||
QASelect 220 170
|
||||
vselect 220 170
|
||||
|
||||
set square 92.9029
|
||||
set only_screen 1
|
||||
|
@ -24,8 +24,6 @@ vdisplay result
|
||||
vfit
|
||||
vsetdispmode result 1
|
||||
|
||||
QAUpdateLights
|
||||
|
||||
set x_coord 116
|
||||
set y_coord 252
|
||||
|
||||
|
@ -20,7 +20,6 @@ vinit
|
||||
vdisplay result
|
||||
vsetdispmode 1
|
||||
vfit
|
||||
QAUpdateLights
|
||||
|
||||
checkcolor $x_coord $y_coord 0.77 0.54 0.09
|
||||
|
||||
|
@ -40,13 +40,11 @@ if { ${status} == 0} {
|
||||
vsetdispmode 1
|
||||
vdisplay result
|
||||
|
||||
QASetViewCharac ${scale} ${center_X} ${center_Y} \
|
||||
vviewparams ${scale} ${center_X} ${center_Y} \
|
||||
${proj_X} ${proj_Y} ${proj_Z} \
|
||||
${up_X} ${up_Y} ${up_Z} \
|
||||
${at_X} ${at_Y} ${at_Z}
|
||||
|
||||
QAUpdateLights
|
||||
|
||||
checkcolor $x_coord $y_coord 0.98 0.72 0.13
|
||||
|
||||
if { ${stat} != 1 } {
|
||||
|
@ -18,7 +18,7 @@ vinit
|
||||
vdisplay result
|
||||
vsetdispmode result 1
|
||||
|
||||
QASetViewCharac 5.1346924 95.358439 -4.910448 0.23495967 -0.302 0.923899 -0.7304302 0.5722587 0.372815 9.550874 -7.55706 -28.83166
|
||||
vviewparams 5.1346924 95.358439 -4.910448 0.23495967 -0.302 0.923899 -0.7304302 0.5722587 0.372815 9.550874 -7.55706 -28.83166
|
||||
|
||||
isos result 0
|
||||
triangles result
|
||||
|
@ -20,7 +20,7 @@ checkshape gasSolid_
|
||||
vinit
|
||||
vdisplay wallSolid_
|
||||
vdisplay gasSolid_
|
||||
QAvzfit
|
||||
vzfit
|
||||
|
||||
|
||||
explode wallSolid_ w
|
||||
|
@ -12,7 +12,6 @@ puts "========================="
|
||||
vinit
|
||||
BUC60547 f
|
||||
vfit
|
||||
QAUpdateLights
|
||||
|
||||
set x_coord 290
|
||||
set y_coord 33
|
||||
|
@ -17,9 +17,7 @@ puts "=================================="
|
||||
vinit
|
||||
BUC60574
|
||||
|
||||
QASelect 220 210
|
||||
QASelect 220 210
|
||||
QAUpdateLights
|
||||
vselect 220 210
|
||||
puts ""
|
||||
|
||||
set x_coord 205
|
||||
|
@ -14,8 +14,7 @@ vinit
|
||||
vdisplay result
|
||||
vfit
|
||||
vsetdispmode 1
|
||||
QASelect 180 180
|
||||
QASelect 180 180
|
||||
vselect 180 180
|
||||
vsetcolor result CYAN3
|
||||
|
||||
set x_coord 120
|
||||
|
@ -9,8 +9,7 @@ box b 10 30 50
|
||||
compound b c
|
||||
vinit
|
||||
BUC60614 c
|
||||
QAMoveTo 200 200
|
||||
QAMoveTo 200 200
|
||||
vmoveto 200 200
|
||||
vfit
|
||||
|
||||
set only_screen 1
|
||||
|
@ -14,8 +14,7 @@ puts "================"
|
||||
vinit
|
||||
BUC60632 0 100
|
||||
vfit
|
||||
QAMoveTo 313 254
|
||||
QAMoveTo 313 254
|
||||
vmoveto 313 254
|
||||
puts "Highlighting by 'Move To' command in wireframe mode"
|
||||
|
||||
set x_coord 315
|
||||
|
@ -14,8 +14,7 @@ puts "================"
|
||||
vinit
|
||||
BUC60632 1 100
|
||||
vfit
|
||||
QAMoveTo 313 254
|
||||
QAMoveTo 313 254
|
||||
vmoveto 313 254
|
||||
puts "Highlighting by 'Move To' command in shading mode"
|
||||
|
||||
set x_coord 315
|
||||
|
@ -18,9 +18,7 @@ wire w_1 e_1 e_2 e_3 e_4
|
||||
mkplane r w_1
|
||||
vdisplay r
|
||||
vfit
|
||||
QASelect 120 21
|
||||
QASelect 120 21
|
||||
QAUpdateLights
|
||||
vselect 120 21
|
||||
|
||||
puts "WARNING : The rectangular MUST be highlighted !"
|
||||
puts ""
|
||||
|
@ -21,7 +21,6 @@ BUC60738
|
||||
vfit
|
||||
vsetdispmode 1
|
||||
|
||||
QAUpdateLights
|
||||
|
||||
set x_coord 261
|
||||
set y_coord 314
|
||||
|
@ -18,7 +18,6 @@ vsettransparency c 0.5
|
||||
set x_coord 154
|
||||
set y_coord 257
|
||||
|
||||
QAUpdateLights
|
||||
|
||||
checkcolor $x_coord $y_coord 0.6 0.4 0.07
|
||||
|
||||
|
@ -6,7 +6,6 @@ puts ""
|
||||
vinit
|
||||
BUC60814
|
||||
vfit
|
||||
QAUpdateLights
|
||||
|
||||
set x_coord 131
|
||||
set y_coord 352
|
||||
|
@ -7,10 +7,7 @@ pcylinder c 100 300
|
||||
vinit
|
||||
BUC60876 c
|
||||
vfit
|
||||
QAMoveTo 200 200
|
||||
QAMoveTo 200 200
|
||||
|
||||
QAUpdateLights
|
||||
vmoveto 200 200
|
||||
|
||||
set x_coord 200
|
||||
set y_coord 200
|
||||
|
@ -12,7 +12,6 @@ vinit
|
||||
BUC60920
|
||||
vfit
|
||||
|
||||
QAUpdateLights
|
||||
|
||||
set x_coord 315
|
||||
set y_coord 210
|
||||
|
@ -22,25 +22,22 @@ set y_coord 260
|
||||
meshdispmode m 2
|
||||
puts "\nMesh displayed in shading mode"
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor $x_coord $y_coord 0 0 0.36
|
||||
|
||||
meshselmode m 8
|
||||
puts "\nSelection of elements is activated"
|
||||
|
||||
QAShiftSelect $x_coord $y_coord
|
||||
###QAShiftSelect $x_coord $y_coord
|
||||
vselect $x_coord $y_coord 1
|
||||
###vselect $x_coord $y_coord 1
|
||||
|
||||
meshhidesel m
|
||||
puts "\nSelected elemement is hidden"
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor $x_coord $y_coord 0 0 0.36
|
||||
|
||||
nodalcolor_id m
|
||||
puts "\nDisplay nodal color presentation"
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor $x_coord $y_coord 0.46 0.12 0.37
|
||||
|
||||
set only_screen 1
|
||||
|
@ -15,15 +15,12 @@ meshfromstl m [locate_data_file OMF6391_box.stl]
|
||||
set x_coord 210
|
||||
set y_coord 280
|
||||
|
||||
QAMoveTo $x_coord $y_coord
|
||||
QAMoveTo $x_coord $y_coord
|
||||
QAUpdateLights
|
||||
vmoveto $x_coord $y_coord
|
||||
|
||||
checkcolor $x_coord $y_coord 0 0 0
|
||||
|
||||
mesh_edge_width m 20
|
||||
puts "\nSet big mesh edge width"
|
||||
QAUpdateLights
|
||||
|
||||
checkcolor $x_coord $y_coord 1 1 1
|
||||
|
||||
|
@ -19,8 +19,7 @@ set RED_R1 0
|
||||
set GREEN_R1 0
|
||||
set BLUE_R1 0
|
||||
|
||||
QAMoveTo $x_coord $y_coord
|
||||
QAMoveTo $x_coord $y_coord
|
||||
vmoveto $x_coord $y_coord
|
||||
|
||||
meshdispmode m 3
|
||||
puts "\nSet shrinked display mode\n"
|
||||
|
@ -17,7 +17,6 @@ vinit
|
||||
vdisplay result
|
||||
vfit
|
||||
vsetdispmode result 1
|
||||
QAUpdateLights
|
||||
|
||||
checkcolor $x_coord $y_coord 0.77 0.54 0.9
|
||||
|
||||
|
21
tests/bugs/vis/bug113
Normal file → Executable file
21
tests/bugs/vis/bug113
Normal file → Executable file
@ -32,38 +32,31 @@ vdisplay b_1
|
||||
vdisplay b_2
|
||||
vfit
|
||||
|
||||
QAUpdateLights
|
||||
|
||||
# Check face color
|
||||
checkcolor ${X_01} ${Y_01} 0 1 0
|
||||
checkcolor ${X_02} ${Y_02} 0 1 0
|
||||
|
||||
# Select faces
|
||||
QAAddOrRemoveSelected b_1
|
||||
QAAddOrRemoveSelected b_2
|
||||
vchangeselected b_1
|
||||
vchangeselected b_2
|
||||
|
||||
# Check face color
|
||||
QAUpdateLights
|
||||
checkcolor ${X_01} ${Y_01} 0.8 0.8 0.8
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor ${X_02} ${Y_02} 0.8 0.8 0.8
|
||||
|
||||
# Hilight face
|
||||
QAMoveTo ${X_01} ${Y_01}
|
||||
QAMoveTo ${X_01} ${Y_01}
|
||||
vmoveto ${X_01} ${Y_01}
|
||||
|
||||
# Check face color
|
||||
QAUpdateLights
|
||||
QASelect 10 10
|
||||
QAMoveTo ${X_01} ${Y_01}
|
||||
vselect 10 10
|
||||
vmoveto ${X_01} ${Y_01}
|
||||
checkcolor ${X_01} ${Y_01} 0 1 1
|
||||
|
||||
QAUpdateLights
|
||||
QAMoveTo ${X_02} ${Y_02}
|
||||
vmoveto ${X_02} ${Y_02}
|
||||
checkcolor ${X_02} ${Y_02} 0 1 1
|
||||
|
||||
# Rotation
|
||||
QASetViewCharac ${scale} ${center_X} ${center_Y} ${proj_X} ${proj_Y} ${proj_Z} ${up_X} ${up_Y} ${up_Z} ${at_X} ${at_Y} ${at_Z}
|
||||
vviewparams ${scale} ${center_X} ${center_Y} ${proj_X} ${proj_Y} ${proj_Z} ${up_X} ${up_Y} ${up_Z} ${at_X} ${at_Y} ${at_Z}
|
||||
|
||||
set only_screen 1
|
||||
|
@ -13,12 +13,10 @@ vinit
|
||||
vdisplay b
|
||||
vfit
|
||||
vscale 1 1 1
|
||||
QAUpdateLights
|
||||
|
||||
set x1 [list 165 340 70]
|
||||
set y1 [list 384 283 79]
|
||||
|
||||
QAUpdateLights
|
||||
puts ""
|
||||
for {set i 0} {$i < 3} {incr i} {
|
||||
set x_coord [lindex ${x1} $i]
|
||||
@ -29,12 +27,10 @@ for {set i 0} {$i < 3} {incr i} {
|
||||
|
||||
vscale 0.5 1.5 0.7
|
||||
vfit
|
||||
QAUpdateLights
|
||||
|
||||
set x2 [list 80 390 25]
|
||||
set y2 [list 390 218 167]
|
||||
|
||||
QAUpdateLights
|
||||
puts ""
|
||||
for {set i 0} {$i < 3} {incr i} {
|
||||
set x_coord [lindex ${x2} $i]
|
||||
|
5
tests/bugs/vis/bug1174
Normal file → Executable file
5
tests/bugs/vis/bug1174
Normal file → Executable file
@ -32,7 +32,7 @@ set at_X -27.258
|
||||
set at_Y 30.2321
|
||||
set at_Z -9.0201
|
||||
|
||||
QASetViewCharac ${scale} ${center_X} ${center_Y} ${proj_X} ${proj_Y} ${proj_Z} ${up_X} ${up_Y} ${up_Z} ${at_X} ${at_Y} ${at_Z}
|
||||
vviewparams ${scale} ${center_X} ${center_Y} ${proj_X} ${proj_Y} ${proj_Z} ${up_X} ${up_Y} ${up_Z} ${at_X} ${at_Y} ${at_Z}
|
||||
|
||||
set x_GREEN 300
|
||||
set y_GREEN 180
|
||||
@ -40,8 +40,6 @@ set y_GREEN 180
|
||||
set x_BLUE 180
|
||||
set y_BLUE 250
|
||||
|
||||
QAUpdateLights
|
||||
|
||||
set ColorList1 [QAGetPixelColor ${x_GREEN} ${y_GREEN}]
|
||||
regexp {RED +: +([-0-9.+eE]+)} $ColorList1 full RED_1
|
||||
regexp {GREEN +: +([-0-9.+eE]+)} $ColorList1 full GREEN_1
|
||||
@ -71,4 +69,3 @@ if {${IsGreen} == 1 && ${IsBlue} == 1} {
|
||||
}
|
||||
|
||||
set only_screen 1
|
||||
|
||||
|
1
tests/bugs/vis/bug1188
Normal file → Executable file
1
tests/bugs/vis/bug1188
Normal file → Executable file
@ -11,7 +11,6 @@ vinit
|
||||
|
||||
OCC1188 [locate_data_file OCC1188.gif]
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor $x $y 0.99 0.99 0.99
|
||||
if { ${stat} != 1} {
|
||||
puts "OCC1188: Error"
|
||||
|
@ -10,8 +10,7 @@ set y_coord 171
|
||||
|
||||
vinit
|
||||
OCC128
|
||||
QASetViewCharac 4.9487928 89.23589 4.1505 0.7329295 0.59461397 0.33052679 -0.536849 0.2071041 0.81786 71.971878 -17.250309 33.509651
|
||||
QAUpdateLights
|
||||
vviewparams 4.9487928 89.23589 4.1505 0.7329295 0.59461397 0.33052679 -0.536849 0.2071041 0.81786 71.971878 -17.250309 33.509651
|
||||
|
||||
checkcolor $x_coord $y_coord 0.43 0.48 0.54
|
||||
|
||||
|
@ -33,10 +33,7 @@ OCC137 1
|
||||
set x_coord 105
|
||||
set y_coord 100
|
||||
|
||||
QAMoveTo $x_coord $y_coord
|
||||
QAMoveTo $x_coord $y_coord
|
||||
|
||||
QAUpdateLights
|
||||
vmoveto $x_coord $y_coord
|
||||
|
||||
checkcolor $x_coord $y_coord 0 1 1
|
||||
|
||||
|
5
tests/bugs/vis/bug137_10
Normal file → Executable file
5
tests/bugs/vis/bug137_10
Normal file → Executable file
@ -25,10 +25,9 @@ vdisplay a
|
||||
vfit
|
||||
vsetdispmode 1
|
||||
|
||||
QASetChoiceMode FACE ON
|
||||
vselmode FACE ON
|
||||
set x 170
|
||||
set y 80
|
||||
QASelect $x $y
|
||||
QASelect $x $y
|
||||
vselect $x $y
|
||||
|
||||
set only_screen 1
|
||||
|
5
tests/bugs/vis/bug137_11
Normal file → Executable file
5
tests/bugs/vis/bug137_11
Normal file → Executable file
@ -25,10 +25,9 @@ vdisplay a
|
||||
vfit
|
||||
vsetdispmode 1
|
||||
|
||||
QASetChoiceMode FACE ON
|
||||
vselmode FACE ON
|
||||
set x 170
|
||||
set y 80
|
||||
QASelect $x $y
|
||||
QASelect $x $y
|
||||
vselect $x $y
|
||||
|
||||
set only_screen 1
|
||||
|
@ -37,10 +37,7 @@ OCC137 1
|
||||
set x_coord 105
|
||||
set y_coord 100
|
||||
|
||||
QAMoveTo $x_coord $y_coord
|
||||
QAMoveTo $x_coord $y_coord
|
||||
|
||||
QAUpdateLights
|
||||
vmoveto $x_coord $y_coord
|
||||
|
||||
checkcolor $x_coord $y_coord 0 1 1
|
||||
|
||||
|
@ -37,9 +37,7 @@ vselmode 4 1
|
||||
set x_coord 105
|
||||
set y_coord 100
|
||||
|
||||
QAMoveTo $x_coord $y_coord
|
||||
QAMoveTo $x_coord $y_coord
|
||||
QAUpdateLights
|
||||
vmoveto $x_coord $y_coord
|
||||
|
||||
checkcolor $x_coord $y_coord 0 1 1
|
||||
|
||||
|
@ -38,9 +38,7 @@ OCC137_z
|
||||
set x_coord 105
|
||||
set y_coord 350
|
||||
|
||||
QAMoveTo $x_coord $y_coord
|
||||
QAMoveTo $x_coord $y_coord
|
||||
QAUpdateLights
|
||||
vmoveto $x_coord $y_coord
|
||||
|
||||
set x_coord 105
|
||||
set y_coord 340
|
||||
@ -49,7 +47,7 @@ checkcolor $x_coord $y_coord 0 1 1
|
||||
|
||||
set x_coord 105
|
||||
set y_coord 340
|
||||
QASetViewCharac 60.6309 7.07107 4.08248 0.592163 -0.60038 -0.537482 0.369921 -0.390032 0.843228 -3.28175 3.38875 3.0464
|
||||
vviewparams 60.6309 7.07107 4.08248 0.592163 -0.60038 -0.537482 0.369921 -0.390032 0.843228 -3.28175 3.38875 3.0464
|
||||
|
||||
checkcolor $x_coord $y_coord 0.78 0.54 0.09
|
||||
|
||||
|
@ -38,16 +38,14 @@ vselmode 4 1
|
||||
set x_coord 105
|
||||
set y_coord 350
|
||||
|
||||
QAMoveTo $x_coord $y_coord
|
||||
QAMoveTo $x_coord $y_coord
|
||||
QAUpdateLights
|
||||
vmoveto $x_coord $y_coord
|
||||
|
||||
set x_coord 105
|
||||
set y_coord 340
|
||||
|
||||
checkcolor $x_coord $y_coord 0 1 1
|
||||
|
||||
QASetViewCharac 60.6309 7.07107 4.08248 0.592163 -0.60038 -0.537482 0.369921 -0.390032 0.843228 -3.28175 3.38875 3.0464
|
||||
vviewparams 60.6309 7.07107 4.08248 0.592163 -0.60038 -0.537482 0.369921 -0.390032 0.843228 -3.28175 3.38875 3.0464
|
||||
set x_coord 105
|
||||
set y_coord 340
|
||||
|
||||
|
5
tests/bugs/vis/bug137_9
Normal file → Executable file
5
tests/bugs/vis/bug137_9
Normal file → Executable file
@ -22,10 +22,9 @@ vdisplay a
|
||||
vfit
|
||||
vsetdispmode 1
|
||||
|
||||
QASetChoiceMode FACE ON
|
||||
vselmode FACE ON
|
||||
set x 170
|
||||
set y 80
|
||||
QASelect $x $y
|
||||
QASelect $x $y
|
||||
vselect $x $y
|
||||
|
||||
set only_screen 1
|
||||
|
@ -20,8 +20,6 @@ vsetdispmode result 1
|
||||
set x_coord 175
|
||||
set y_coord 195
|
||||
|
||||
QAUpdateLights
|
||||
|
||||
checkcolor $x_coord $y_coord 1 0.75 0.15
|
||||
|
||||
if { $stat != 1 } {
|
||||
@ -31,8 +29,6 @@ if { $stat != 1 } {
|
||||
########################################################
|
||||
vsetmaterial result COPPER
|
||||
|
||||
QAUpdateLights
|
||||
|
||||
checkcolor $x_coord $y_coord 0.77 0.32 0.23
|
||||
|
||||
if { $stat != 1 } {
|
||||
|
@ -24,7 +24,6 @@ regexp {BLUE +: +([-0-9.+eE]+)} $color1 full bl1
|
||||
|
||||
vsetmaterial result ALUMINIUM
|
||||
|
||||
QAUpdateLights
|
||||
set color2 [QAGetPixelColor 175 195]
|
||||
regexp {RED +: +([-0-9.+eE]+)} $color2 full rd2
|
||||
regexp {GREEN +: +([-0-9.+eE]+)} $color2 full gr2
|
||||
|
@ -26,7 +26,6 @@ regexp {BLUE +: +([-0-9.+eE]+)} $color1 full bl1
|
||||
########################################################
|
||||
vsettransparency result 0.5
|
||||
|
||||
QAUpdateLights
|
||||
set color2 [QAGetPixelColor 175 195]
|
||||
regexp {RED +: +([-0-9.+eE]+)} $color2 full rd2
|
||||
regexp {GREEN +: +([-0-9.+eE]+)} $color2 full gr2
|
||||
|
@ -17,7 +17,6 @@ set x_coord 235
|
||||
set y_coord 214
|
||||
|
||||
vsetdispmode result 1
|
||||
QAUpdateLights
|
||||
|
||||
checkcolor $x_coord $y_coord 0.78 0.55 0.9
|
||||
|
||||
@ -27,8 +26,6 @@ if { $stat != 1 } {
|
||||
|
||||
vsetdispmode result 0
|
||||
|
||||
QAUpdateLights
|
||||
|
||||
checkcolor $x_coord $y_coord 0 1 0
|
||||
|
||||
if { $stat != 1 } {
|
||||
|
2
tests/bugs/vis/bug2066
Normal file → Executable file
2
tests/bugs/vis/bug2066
Normal file → Executable file
@ -14,7 +14,7 @@ vfit
|
||||
verase b
|
||||
set CollectorToo 1
|
||||
|
||||
if [catch {QAPurgeDisplay $CollectorToo} result] {
|
||||
if [catch {vpurgedisplay $CollectorToo} result] {
|
||||
puts "Faulty OCC2066"
|
||||
} else {
|
||||
puts "OK OCC2066"
|
||||
|
@ -23,7 +23,7 @@ set at_X -5.88607025146484
|
||||
set at_Y 28.6973209381104
|
||||
set at_Z -12.5332689285278
|
||||
|
||||
QASetViewCharac ${scale} ${center_X} ${center_Y} ${proj_X} ${proj_Y} ${proj_Z} ${up_X} ${up_Y} ${up_Z} ${at_X} ${at_Y} ${at_Z}
|
||||
vviewparams ${scale} ${center_X} ${center_Y} ${proj_X} ${proj_Y} ${proj_Z} ${up_X} ${up_Y} ${up_Z} ${at_X} ${at_Y} ${at_Z}
|
||||
|
||||
set x_coord 229
|
||||
set y_coord 94
|
||||
|
@ -25,15 +25,13 @@ set at_Z -0.0881031528115273
|
||||
set x_coord 388
|
||||
set y_coord 28
|
||||
|
||||
QASetViewCharac ${scale} ${center_X} ${center_Y} ${proj_X} ${proj_Y} ${proj_Z} ${up_X} ${up_Y} ${up_Z} ${at_X} ${at_Y} ${at_Z}
|
||||
vviewparams ${scale} ${center_X} ${center_Y} ${proj_X} ${proj_Y} ${proj_Z} ${up_X} ${up_Y} ${up_Z} ${at_X} ${at_Y} ${at_Z}
|
||||
|
||||
OCC218 trihedron1 b_1 X Y
|
||||
QAUpdateLights
|
||||
|
||||
checkcolor $x_coord $y_coord 0 0 0
|
||||
|
||||
OCC218 trihedron1 b_1 my___axis___1 my___axis2
|
||||
QAUpdateLights
|
||||
|
||||
checkcolor $x_coord $y_coord 0.85 0.85 0
|
||||
|
||||
|
2
tests/bugs/vis/bug223
Normal file → Executable file
2
tests/bugs/vis/bug223
Normal file → Executable file
@ -28,7 +28,6 @@ vsetcolor face GREEN1
|
||||
vsetdispmode cylinder 1
|
||||
vsetcolor cylinder RED1
|
||||
|
||||
QAUpdateLights
|
||||
set ColorList [QAGetPixelColor $Start_X $Start_Y]
|
||||
regexp {RED +: +([-0-9.+eE]+)} $ColorList full R_START_POINT
|
||||
regexp {GREEN +: +([-0-9.+eE]+)} $ColorList full G_START_POINT
|
||||
@ -38,7 +37,6 @@ puts "R_START_POINT=$R_START_POINT ; G_START_POINT=$G_START_POINT ; B_START_
|
||||
|
||||
set IsGood 1
|
||||
for {set count 0} {${count} <= 11} {incr count 1} {
|
||||
QAUpdateLights
|
||||
checkcolor $Start_X $Start_Y $R_START_POINT $G_START_POINT $B_START_POINT
|
||||
if {$stat != 1} {
|
||||
set IsGood 0
|
||||
|
@ -47,8 +47,7 @@ catch {QAGetPixelColor $x6 $y6 $Yellow_R $Yellow_G $Yellow_B} result16
|
||||
|
||||
# Move a mouse
|
||||
puts "Move a mouse"
|
||||
QAMoveTo $x2 $y2
|
||||
QAMoveTo $x2 $y2
|
||||
vmoveto $x2 $y2
|
||||
|
||||
# Second box of first CompSolid is selected
|
||||
puts "Second box of first CompSolid is selected"
|
||||
@ -62,7 +61,6 @@ if { [array get env os_type] != "" } {
|
||||
set os $env(os_type)
|
||||
}
|
||||
if { [string compare $os "windows"] != 0 } {
|
||||
QAUpdateLights
|
||||
catch {QAGetPixelColor $x2 $y2 $Cyan_R $Cyan_G $Cyan_B} result31
|
||||
}
|
||||
|
||||
|
28
tests/bugs/vis/bug23539_1
Normal file
28
tests/bugs/vis/bug23539_1
Normal file
@ -0,0 +1,28 @@
|
||||
puts "============"
|
||||
puts "CR23539"
|
||||
puts "============"
|
||||
puts ""
|
||||
######################################################
|
||||
# Test case for polygonal selection
|
||||
######################################################
|
||||
|
||||
box b 10 10 10
|
||||
vinit
|
||||
vdisplay b
|
||||
vfit
|
||||
vselmode 2 1
|
||||
vselect 1 1 1 407 407 407 407 1
|
||||
|
||||
set NbSelected1 [vnbselected]
|
||||
if { ${NbSelected1} != 12 } {
|
||||
puts "Error : Bad number of selected edges after polygonal selection of all edges"
|
||||
}
|
||||
|
||||
vselect 10 10 10 20 20 20 20 10
|
||||
|
||||
set NbSelected2 [vnbselected]
|
||||
if { ${NbSelected2} != 0 } {
|
||||
puts "Error : Bad number of selected edges after polyginal selection of empty space"
|
||||
}
|
||||
|
||||
set only_screen 1
|
31
tests/bugs/vis/bug23539_2
Normal file
31
tests/bugs/vis/bug23539_2
Normal file
@ -0,0 +1,31 @@
|
||||
puts "============"
|
||||
puts "CR23539"
|
||||
puts "============"
|
||||
puts ""
|
||||
#############################
|
||||
## Test case for polygonal shift selection
|
||||
#############################
|
||||
|
||||
box a 10 10 10
|
||||
box b 50 50 50 10 10 10
|
||||
vinit
|
||||
vdisplay a b
|
||||
vfit
|
||||
vselmode 2 1
|
||||
vselect 0 0
|
||||
vselect 60 300
|
||||
vselect 300 200 300 60 400 60 407 150 1
|
||||
|
||||
set NbSelected1 [vnbselected]
|
||||
if { ${NbSelected1} != 13 } {
|
||||
puts "Error : Polygonal shift selection doesn't work properly"
|
||||
}
|
||||
|
||||
vselect 350 120 1
|
||||
|
||||
set NbSelected1 [vnbselected]
|
||||
if { ${NbSelected1} != 12 } {
|
||||
puts "Error : (case 2)"
|
||||
}
|
||||
|
||||
set only_screen 1
|
@ -24,7 +24,7 @@ set at_X 0
|
||||
set at_Y 0
|
||||
set at_Z 0
|
||||
|
||||
QASetViewCharac ${scale} ${center_X} ${center_Y} ${proj_X} ${proj_Y} ${proj_Z} ${up_X} ${up_Y} ${up_Z} ${at_X} ${at_Y} ${at_Z}
|
||||
vviewparams ${scale} ${center_X} ${center_Y} ${proj_X} ${proj_Y} ${proj_Z} ${up_X} ${up_Y} ${up_Z} ${at_X} ${at_Y} ${at_Z}
|
||||
|
||||
set x_coord 36
|
||||
set y_coord 201
|
||||
@ -32,5 +32,3 @@ set y_coord 201
|
||||
checkcolor $x_coord $y_coord 0.6 0.6 0.6
|
||||
|
||||
set only_screen 1
|
||||
|
||||
|
||||
|
6
tests/bugs/vis/bug270_1
Normal file → Executable file
6
tests/bugs/vis/bug270_1
Normal file → Executable file
@ -12,16 +12,14 @@ vsetdispmode 1
|
||||
set x1 172
|
||||
set y1 223
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor ${x1} ${y1} 1 0 0
|
||||
|
||||
QASetZClippingMode FRONT
|
||||
set ZClippingMode [lindex [QAGetZClippingMode] 2]
|
||||
vzclipping FRONT
|
||||
set ZClippingMode [lindex [vzclipping] 2]
|
||||
if {${ZClippingMode} != "FRONT"} {
|
||||
puts "OCC270: Error (ZClippingMode != FRONT)"
|
||||
}
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor ${x1} ${y1} 1 0 0
|
||||
vfit
|
||||
|
||||
|
6
tests/bugs/vis/bug270_2
Normal file → Executable file
6
tests/bugs/vis/bug270_2
Normal file → Executable file
@ -12,16 +12,14 @@ vsetdispmode 0
|
||||
set x1 172
|
||||
set y1 223
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor ${x1} ${y1} 1 0 0
|
||||
|
||||
QASetZClippingMode FRONT
|
||||
set ZClippingMode [lindex [QAGetZClippingMode] 2]
|
||||
vzclipping FRONT
|
||||
set ZClippingMode [lindex [vzclipping] 2]
|
||||
if {${ZClippingMode} != "FRONT"} {
|
||||
puts "OCC270: Error (ZClippingMode != FRONT)"
|
||||
}
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor ${x1} ${y1} 1 0 0
|
||||
vfit
|
||||
|
||||
|
@ -21,10 +21,7 @@ checkcolor $x_coord $y_coord 1 1 0
|
||||
|
||||
# Move a mouse
|
||||
puts "Move a mouse"
|
||||
QAMoveTo $x_coord $y_coord
|
||||
QAMoveTo $x_coord $y_coord
|
||||
|
||||
QAUpdateLights
|
||||
vmoveto $x_coord $y_coord
|
||||
|
||||
# There is a selection
|
||||
puts "There is a selection"
|
||||
|
@ -14,14 +14,12 @@ set x_coord 10
|
||||
set y_coord 240
|
||||
|
||||
puts "Before View->FitAll()"
|
||||
QAUpdateLights
|
||||
|
||||
checkcolor $x_coord $y_coord 0 0 0
|
||||
|
||||
vfit
|
||||
|
||||
puts "After View->FitAll()"
|
||||
QAUpdateLights
|
||||
|
||||
checkcolor $x_coord $y_coord 0.78 0.55 0.9
|
||||
|
||||
|
2
tests/bugs/vis/bug281_1
Normal file → Executable file
2
tests/bugs/vis/bug281_1
Normal file → Executable file
@ -21,7 +21,7 @@ set at_X 0
|
||||
set at_Y 0
|
||||
set at_Z 0
|
||||
|
||||
QASetViewCharac ${scale} ${center_X} ${center_Y} ${proj_X} ${proj_Y} ${proj_Z} ${up_X} ${up_Y} ${up_Z} ${at_X} ${at_Y} ${at_Z}
|
||||
vviewparams ${scale} ${center_X} ${center_Y} ${proj_X} ${proj_Y} ${proj_Z} ${up_X} ${up_Y} ${up_Z} ${at_X} ${at_Y} ${at_Z}
|
||||
|
||||
OCC281 ${x} ${y} ${TypeOfMarker}
|
||||
OCC281 ${x} ${y} ${TypeOfMarker}
|
||||
|
@ -37,7 +37,7 @@ set at_X 8.22575855255127
|
||||
set at_Y -2.95449280738831
|
||||
set at_Z 3.08669567108154
|
||||
|
||||
QASetViewCharac ${scale} ${center_X} ${center_Y} ${proj_X} ${proj_Y} ${proj_Z} ${up_X} ${up_Y} ${up_Z} ${at_X} ${at_Y} ${at_Z}
|
||||
vviewparams ${scale} ${center_X} ${center_Y} ${proj_X} ${proj_Y} ${proj_Z} ${up_X} ${up_Y} ${up_Z} ${at_X} ${at_Y} ${at_Z}
|
||||
|
||||
set info [trinfo result]
|
||||
regexp { +([-0-9.+eE]+) +triangles} $info full tri
|
||||
|
1
tests/bugs/vis/bug349
Normal file → Executable file
1
tests/bugs/vis/bug349
Normal file → Executable file
@ -86,7 +86,6 @@ set y12 284
|
||||
#
|
||||
#
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor ${x1} ${y1} 1 1 0
|
||||
checkcolor ${x2} ${y2} 1 1 0
|
||||
checkcolor ${x3} ${y3} 1 1 0
|
||||
|
3
tests/bugs/vis/bug362
Normal file → Executable file
3
tests/bugs/vis/bug362
Normal file → Executable file
@ -6,5 +6,4 @@ puts "========"
|
||||
smallview
|
||||
box b 10 10 10
|
||||
sphere s -30 -30 -30 20
|
||||
QAwzoom 1 -86 -72 -13 10
|
||||
|
||||
wzoom 1 -86 -72 -13 10
|
||||
|
@ -15,8 +15,6 @@ vfit
|
||||
set x_coord 31
|
||||
set y_coord 304
|
||||
|
||||
QAUpdateLights
|
||||
|
||||
checkcolor $x_coord $y_coord 0 0 0
|
||||
|
||||
set only_screen 1
|
||||
|
7
tests/bugs/vis/bug544
Normal file → Executable file
7
tests/bugs/vis/bug544
Normal file → Executable file
@ -29,7 +29,7 @@ set at_X 241.985
|
||||
set at_Y 329.911
|
||||
set at_Z 390.356
|
||||
|
||||
QASetViewCharac ${scale} ${center_X} ${center_Y} ${proj_X} ${proj_Y} ${proj_Z} ${up_X} ${up_Y} ${up_Z} ${at_X} ${at_Y} ${at_Z}
|
||||
vviewparams ${scale} ${center_X} ${center_Y} ${proj_X} ${proj_Y} ${proj_Z} ${up_X} ${up_Y} ${up_Z} ${at_X} ${at_Y} ${at_Z}
|
||||
|
||||
set x1 300
|
||||
set y1 70
|
||||
@ -40,11 +40,8 @@ set y2 110
|
||||
set x3 220
|
||||
set y3 110
|
||||
|
||||
QAMoveTo ${x1} ${y1}
|
||||
QAMoveTo ${x1} ${y1}
|
||||
vmoveto ${x1} ${y1}
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor $x3 $y3 0.04 0.04 0.5
|
||||
|
||||
set only_screen 1
|
||||
|
||||
|
@ -11,7 +11,6 @@ vfit
|
||||
vsetdispmode result 1
|
||||
vsettransparency result .5
|
||||
|
||||
QAUpdateLights
|
||||
|
||||
set x_coord 250
|
||||
set y_coord 115
|
||||
|
@ -22,9 +22,7 @@ checkshape result
|
||||
|
||||
BUC60569 result
|
||||
vfit
|
||||
QAMoveTo 250 190
|
||||
QASelect 250 190
|
||||
QAUpdateLights
|
||||
vselect 250 190
|
||||
|
||||
set x_coord 335
|
||||
set y_coord 331
|
||||
@ -35,8 +33,7 @@ if {$stat != 1} {
|
||||
puts "Error : The right face is NOT Selected by Select command."
|
||||
}
|
||||
|
||||
QAShiftSelect 180 350
|
||||
QAUpdateLights
|
||||
vselect 180 350 1
|
||||
|
||||
set x_coord 101
|
||||
set y_coord 347
|
||||
|
@ -23,11 +23,9 @@ checkshape result
|
||||
|
||||
BUC60569 result
|
||||
vfit
|
||||
QAMoveTo 250 190
|
||||
QASelect 250 190
|
||||
QAShiftSelect 180 350
|
||||
QAMoveTo 250 190
|
||||
QAUpdateLights
|
||||
vselect 250 190
|
||||
vselect 180 350 1
|
||||
vmoveto 250 190
|
||||
|
||||
set x_coord 335
|
||||
set y_coord 331
|
||||
|
@ -26,12 +26,10 @@ checkshape result
|
||||
BUC60569 result
|
||||
vfit
|
||||
|
||||
QAMoveTo 250 190
|
||||
QASelect 250 190
|
||||
QAShiftSelect 180 350
|
||||
QAMoveTo 250 190
|
||||
QAMoveTo 180 350
|
||||
QAUpdateLights
|
||||
vselect 250 190
|
||||
vselect 180 350 1
|
||||
vmoveto 250 190
|
||||
vmoveto 180 350
|
||||
|
||||
set x_coord 101
|
||||
set y_coord 347
|
||||
|
@ -25,14 +25,12 @@ checkshape result
|
||||
|
||||
BUC60569 result
|
||||
vfit
|
||||
QAMoveTo 250 190
|
||||
|
||||
QASelect 250 190
|
||||
QAShiftSelect 180 350
|
||||
QAMoveTo 250 190
|
||||
QAMoveTo 180 350
|
||||
QASelect 390 390
|
||||
QAUpdateLights
|
||||
vselect 250 190
|
||||
vselect 180 350 1
|
||||
vmoveto 250 190
|
||||
vmoveto 180 350
|
||||
vselect 390 390
|
||||
|
||||
set x_coord 335
|
||||
set y_coord 331
|
||||
|
@ -25,14 +25,13 @@ checkshape result
|
||||
|
||||
BUC60569 result
|
||||
vfit
|
||||
QAMoveTo 250 190
|
||||
QASelect 250 190
|
||||
QAShiftSelect 180 350
|
||||
QAMoveTo 250 190
|
||||
QAMoveTo 180 350
|
||||
QASelect 390 390
|
||||
QAShiftSelect 250 190
|
||||
QAUpdateLights
|
||||
|
||||
vselect 250 190
|
||||
vselect 180 350 1
|
||||
vmoveto 250 190
|
||||
vmoveto 180 350
|
||||
vselect 390 390
|
||||
vselect 250 190 1
|
||||
|
||||
set x_coord 335
|
||||
set y_coord 331
|
||||
@ -43,8 +42,7 @@ if {$stat != 1} {
|
||||
puts "Error : The right face is NOT Selected by Shift Select command"
|
||||
}
|
||||
|
||||
QAShiftSelect 180 350
|
||||
QAUpdateLights
|
||||
vselect 180 350 1
|
||||
|
||||
set x_coord 101
|
||||
set y_coord 347
|
||||
|
@ -26,16 +26,14 @@ checkshape result
|
||||
BUC60569 result
|
||||
vfit
|
||||
|
||||
QAMoveTo 250 190
|
||||
QASelect 250 190
|
||||
QAShiftSelect 180 350
|
||||
QAMoveTo 250 190
|
||||
QAMoveTo 180 350
|
||||
QASelect 390 390
|
||||
QAShiftSelect 250 190
|
||||
QAShiftSelect 180 350
|
||||
QAMoveTo 250 190
|
||||
QAUpdateLights
|
||||
vselect 250 190
|
||||
vselect 180 350 1
|
||||
vmoveto 250 190
|
||||
vmoveto 180 350
|
||||
vselect 390 390
|
||||
vselect 250 190 1
|
||||
vselect 180 350 1
|
||||
vmoveto 250 190
|
||||
|
||||
set x_coord 335
|
||||
set y_coord 331
|
||||
|
@ -27,16 +27,15 @@ checkshape result
|
||||
BUC60569 result
|
||||
vfit
|
||||
|
||||
QAMoveTo 250 190
|
||||
QASelect 250 190
|
||||
QAShiftSelect 180 350
|
||||
QAMoveTo 250 190
|
||||
QAMoveTo 180 350
|
||||
QASelect 390 390
|
||||
QAShiftSelect 250 190
|
||||
QAShiftSelect 180 350
|
||||
QAMoveTo 250 190
|
||||
QAMoveTo 180 350
|
||||
vselect 250 190
|
||||
vselect 180 350 1
|
||||
vmoveto 250 190
|
||||
vmoveto 180 350
|
||||
vselect 390 390
|
||||
vselect 250 190 1
|
||||
vselect 180 350 1
|
||||
vmoveto 250 190
|
||||
vmoveto 180 350
|
||||
|
||||
set x_coord 335
|
||||
set y_coord 331
|
||||
|
2
tests/bugs/vis/bug60
Normal file → Executable file
2
tests/bugs/vis/bug60
Normal file → Executable file
@ -12,7 +12,6 @@ vfit
|
||||
set x_coord 83
|
||||
set y_coord 337
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor $x_coord $y_coord 1 1 0
|
||||
|
||||
set xmin 1
|
||||
@ -28,7 +27,6 @@ set Selection_R 0.8
|
||||
set Selection_G 0.8
|
||||
set Selection_B 0.8
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor $x_coord $y_coord 0.8 0.8 0.8
|
||||
|
||||
set only_screen 1
|
||||
|
2
tests/bugs/vis/bug61
Normal file → Executable file
2
tests/bugs/vis/bug61
Normal file → Executable file
@ -10,7 +10,6 @@ vtrihedron trihedron
|
||||
set x_coord 205
|
||||
set y_coord 205
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor $x_coord $y_coord 0.43 0.48 0.54
|
||||
|
||||
set xmin 1
|
||||
@ -22,7 +21,6 @@ set ymax 205
|
||||
OCC60 ${xmin} ${ymin} ${xmax} ${ymax}
|
||||
OCC60 ${xmin} ${ymin} ${xmax} ${ymax}
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor $x_coord $y_coord 0.8 0.8 0.8
|
||||
|
||||
set only_screen 1
|
||||
|
@ -29,7 +29,6 @@ vinit
|
||||
vsetdispmode 1
|
||||
vdisplay r
|
||||
vfit
|
||||
QAUpdateLights
|
||||
|
||||
set x_coord 270
|
||||
set y_coord 230
|
||||
@ -37,7 +36,6 @@ set y_coord 230
|
||||
checkcolor $x_coord $y_coord 0.78 0.55 0.09
|
||||
|
||||
vsettransparency r 0.5
|
||||
QAUpdateLights
|
||||
|
||||
checkcolor $x_coord $y_coord 0.8 0.56 0.1
|
||||
|
||||
|
@ -11,8 +11,7 @@ vinit
|
||||
vtrihedron tri
|
||||
vtri_orig tri
|
||||
|
||||
QAMoveTo 205 205
|
||||
QAUpdateLights
|
||||
vmoveto 205 205
|
||||
|
||||
checkcolor $x_coord $y_coord 0 1 1
|
||||
|
||||
|
@ -14,9 +14,9 @@ meshfromstl result [locate_data_file OCC6652.stl]
|
||||
meshdispmode result 3
|
||||
meshselmode result 8
|
||||
|
||||
QASelectRectangle 5 5 400 400
|
||||
vselect 5 5 400 400
|
||||
|
||||
if {[QANbSelected] != 26966} {
|
||||
if {[vnbselected] != 26966} {
|
||||
puts "Faulty ${BugNumber}"
|
||||
}
|
||||
|
||||
|
6
tests/bugs/vis/bug71
Normal file → Executable file
6
tests/bugs/vis/bug71
Normal file → Executable file
@ -33,8 +33,7 @@ checkcolor ${Shape_X} ${Shape_Y} 0.78 0.54 0.09
|
||||
checkcolor ${Triedron_X} ${Triedron_Y} 1 1 1
|
||||
|
||||
# Select box
|
||||
QASelect ${Shape_X} ${Shape_Y}
|
||||
QASelect ${Shape_X} ${Shape_Y}
|
||||
vselect ${Shape_X} ${Shape_Y}
|
||||
|
||||
# Check box color
|
||||
checkcolor ${Shape_X} ${Shape_Y} 0.78 0.54 0.09
|
||||
@ -43,8 +42,7 @@ checkcolor ${Shape_X} ${Shape_Y} 0.78 0.54 0.09
|
||||
checkcolor ${Triedron_X} ${Triedron_Y} 1 1 1
|
||||
|
||||
# Select empty view
|
||||
QASelect 1 1
|
||||
QASelect 1 1
|
||||
vselect 1 1
|
||||
|
||||
# Check box color
|
||||
checkcolor ${Shape_X} ${Shape_Y} 0.78 0.54 0.09
|
||||
|
@ -15,20 +15,19 @@ box b 10 10 10
|
||||
vinit
|
||||
vdisplay b
|
||||
vfit
|
||||
QAUpdateLights
|
||||
vselmode 2 1
|
||||
|
||||
QASelectRectangle 1 1 407 407
|
||||
vselect 1 1 407 407
|
||||
|
||||
set NbSelected1 [QANbSelected]
|
||||
set NbSelected1 [vnbselected]
|
||||
if { ${NbSelected1} != 12 } {
|
||||
puts "Bad number of selected edges after rectangle selection all edges"
|
||||
set mistake 1
|
||||
}
|
||||
|
||||
QASelectRectangle 10 10 20 20
|
||||
vselect 10 10 20 20
|
||||
|
||||
set NbSelected2 [QANbSelected]
|
||||
set NbSelected2 [vnbselected]
|
||||
if { ${NbSelected2} != 0 } {
|
||||
puts "Error : Bad number of selected edges after rectangle selection an empty space"
|
||||
set mistake 1
|
||||
@ -39,7 +38,6 @@ set x [list 125 204 283 29 111 298 379 125 204 283 125 283]
|
||||
set y [list 47 100 47 200 150 150 200 250 300 250 361 361]
|
||||
|
||||
|
||||
QAUpdateLights
|
||||
puts ""
|
||||
for {set i 0} {$i < 12} {incr i} {
|
||||
set x_coord [lindex ${x} $i]
|
||||
|
@ -19,18 +19,18 @@ set y1 300
|
||||
set x2 350
|
||||
set y2 120
|
||||
|
||||
QASelect 0 0
|
||||
QASelect ${x1} ${y1}
|
||||
QAShiftSelect ${x2} ${y2}
|
||||
vselect 0 0
|
||||
vselect ${x1} ${y1}
|
||||
vselect ${x2} ${y2} 1
|
||||
|
||||
set NbSelected1 [QANbSelected]
|
||||
set NbSelected1 [vnbselected]
|
||||
if { ${NbSelected1} != 2 } {
|
||||
puts "Error : (case 1)"
|
||||
}
|
||||
|
||||
QAShiftSelect ${x2} ${y2}
|
||||
vselect ${x2} ${y2} 1
|
||||
|
||||
set NbSelected1 [QANbSelected]
|
||||
set NbSelected1 [vnbselected]
|
||||
if { ${NbSelected1} != 1 } {
|
||||
puts "Error : (case 2)"
|
||||
}
|
||||
|
100
tests/bugs/vis/bug74
Normal file → Executable file
100
tests/bugs/vis/bug74
Normal file → Executable file
@ -37,8 +37,6 @@ box b 10 10 10
|
||||
vdisplay b
|
||||
vfit
|
||||
|
||||
QAUpdateLights
|
||||
|
||||
### FIRST PART
|
||||
|
||||
# Check Shape color
|
||||
@ -65,8 +63,7 @@ checkcolor ${Solid_X} ${Solid_Y} 1 1 0
|
||||
### SECOND PART
|
||||
|
||||
# Check Shape color
|
||||
QAMoveTo 1 1
|
||||
QAMoveTo 1 1
|
||||
vmoveto 1 1
|
||||
set SetSelectMode 0
|
||||
OCC74_set b ${SetSelectMode}
|
||||
set GetSelectMode [OCC74_get b]
|
||||
@ -74,15 +71,12 @@ if { ${GetSelectMode} != ${SetSelectMode} } {
|
||||
puts "Select Mode = ${GetSelectMode}"
|
||||
puts "OCC74: Get Select Mode Error "
|
||||
}
|
||||
QAMoveTo ${Shape_X} ${Shape_Y}
|
||||
QAMoveTo ${Shape_X} ${Shape_Y}
|
||||
vmoveto ${Shape_X} ${Shape_Y}
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor ${Shape_X} ${Shape_Y} 0 1 1
|
||||
|
||||
# Check Vertex color
|
||||
QAMoveTo 1 1
|
||||
QAMoveTo 1 1
|
||||
vmoveto 1 1
|
||||
set SetSelectMode 1
|
||||
OCC74_set b ${SetSelectMode}
|
||||
set GetSelectMode [OCC74_get b]
|
||||
@ -90,15 +84,12 @@ if { ${GetSelectMode} != ${SetSelectMode} } then {
|
||||
puts "Select Mode = ${GetSelectMode}"
|
||||
puts "OCC74: Get Select Mode Error "
|
||||
}
|
||||
QAMoveTo ${Vertex_X} ${Vertex_Y}
|
||||
QAMoveTo ${Vertex_X} ${Vertex_Y}
|
||||
vmoveto ${Vertex_X} ${Vertex_Y}
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor ${Vertex_X} ${Vertex_Y} 0 1 1
|
||||
|
||||
# Check Edge color
|
||||
QAMoveTo 1 1
|
||||
QAMoveTo 1 1
|
||||
vmoveto 1 1
|
||||
set SetSelectMode 2
|
||||
OCC74_set b ${SetSelectMode}
|
||||
set GetSelectMode [OCC74_get b]
|
||||
@ -106,15 +97,12 @@ if { ${GetSelectMode} != ${SetSelectMode} } then {
|
||||
puts "Select Mode = ${GetSelectMode}"
|
||||
puts "OCC74: Get Select Mode Error "
|
||||
}
|
||||
QAMoveTo ${Edge_X} ${Edge_Y}
|
||||
QAMoveTo ${Edge_X} ${Edge_Y}
|
||||
vmoveto ${Edge_X} ${Edge_Y}
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor ${Edge_X} ${Edge_Y} 0 1 1
|
||||
|
||||
# Check Wire color
|
||||
QAMoveTo 1 1
|
||||
QAMoveTo 1 1
|
||||
vmoveto 1 1
|
||||
set SetSelectMode 3
|
||||
OCC74_set b ${SetSelectMode}
|
||||
set GetSelectMode [OCC74_get b]
|
||||
@ -122,15 +110,12 @@ if { ${GetSelectMode} != ${SetSelectMode} } then {
|
||||
puts "Select Mode = ${GetSelectMode}"
|
||||
puts "OCC74: Get Select Mode Error "
|
||||
}
|
||||
QAMoveTo ${Wire_X} ${Wire_Y}
|
||||
QAMoveTo ${Wire_X} ${Wire_Y}
|
||||
vmoveto ${Wire_X} ${Wire_Y}
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor ${Wire_X} ${Wire_Y} 0 1 1
|
||||
|
||||
# Check Face color
|
||||
QAMoveTo 1 1
|
||||
QAMoveTo 1 1
|
||||
vmoveto 1 1
|
||||
set SetSelectMode 4
|
||||
OCC74_set b ${SetSelectMode}
|
||||
set GetSelectMode [OCC74_get b]
|
||||
@ -138,15 +123,12 @@ if { ${GetSelectMode} != ${SetSelectMode} } then {
|
||||
puts "Select Mode = ${GetSelectMode}"
|
||||
puts "OCC74: Get Select Mode Error "
|
||||
}
|
||||
QAMoveTo ${Face_X} ${Face_Y}
|
||||
QAMoveTo ${Face_X} ${Face_Y}
|
||||
vmoveto ${Face_X} ${Face_Y}
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor ${Face_X} ${Face_Y} 0 1 1
|
||||
|
||||
# Check Shell color
|
||||
QAMoveTo 1 1
|
||||
QAMoveTo 1 1
|
||||
vmoveto 1 1
|
||||
set SetSelectMode 5
|
||||
OCC74_set b ${SetSelectMode}
|
||||
set GetSelectMode [OCC74_get b]
|
||||
@ -154,15 +136,12 @@ if { ${GetSelectMode} != ${SetSelectMode} } then {
|
||||
puts "Select Mode = ${GetSelectMode}"
|
||||
puts "OCC74: Get Select Mode Error "
|
||||
}
|
||||
QAMoveTo ${Shell_X} ${Shell_Y}
|
||||
QAMoveTo ${Shell_X} ${Shell_Y}
|
||||
vmoveto ${Shell_X} ${Shell_Y}
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor ${Shell_X} ${Shell_Y} 0 1 1
|
||||
|
||||
# Check Solid color
|
||||
QAMoveTo 1 1
|
||||
QAMoveTo 1 1
|
||||
vmoveto 1 1
|
||||
set SetSelectMode 6
|
||||
OCC74_set b ${SetSelectMode}
|
||||
set GetSelectMode [OCC74_get b]
|
||||
@ -170,10 +149,8 @@ if { ${GetSelectMode} != ${SetSelectMode} } then {
|
||||
puts "Select Mode = ${GetSelectMode}"
|
||||
puts "OCC74: Get Select Mode Error "
|
||||
}
|
||||
QAMoveTo ${Solid_X} ${Solid_Y}
|
||||
QAMoveTo ${Solid_X} ${Solid_Y}
|
||||
vmoveto ${Solid_X} ${Solid_Y}
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor ${Solid_X} ${Solid_Y} 0 1 1
|
||||
|
||||
### THIRD PART
|
||||
@ -187,66 +164,45 @@ if { ${GetSelectMode} != ${SetSelectMode} } then {
|
||||
}
|
||||
|
||||
# Check Shape color
|
||||
QAMoveTo 1 1
|
||||
QAMoveTo 1 1
|
||||
QAMoveTo ${Shape_X} ${Shape_Y}
|
||||
QAMoveTo ${Shape_X} ${Shape_Y}
|
||||
vmoveto 1 1
|
||||
vmoveto ${Shape_X} ${Shape_Y}
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor ${Shape_X} ${Shape_Y} 1 1 0
|
||||
|
||||
# Check Vertex color
|
||||
QAMoveTo 1 1
|
||||
QAMoveTo 1 1
|
||||
QAMoveTo ${Vertex_X} ${Vertex_Y}
|
||||
QAMoveTo ${Vertex_X} ${Vertex_Y}
|
||||
vmoveto 1 1
|
||||
vmoveto ${Vertex_X} ${Vertex_Y}
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor ${Vertex_X} ${Vertex_Y} 1 1 0
|
||||
|
||||
# Check Edge color
|
||||
QAMoveTo 1 1
|
||||
QAMoveTo 1 1
|
||||
QAMoveTo ${Edge_X} ${Edge_Y}
|
||||
QAMoveTo ${Edge_X} ${Edge_Y}
|
||||
vmoveto 1 1
|
||||
vmoveto ${Edge_X} ${Edge_Y}
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor ${Edge_X} ${Edge_Y} 1 1 0
|
||||
|
||||
# Check Wire color
|
||||
QAMoveTo 1 1
|
||||
QAMoveTo 1 1
|
||||
QAMoveTo ${Wire_X} ${Wire_Y}
|
||||
QAMoveTo ${Wire_X} ${Wire_Y}
|
||||
vmoveto 1 1
|
||||
vmoveto ${Wire_X} ${Wire_Y}
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor ${Wire_X} ${Wire_Y} 1 1 0
|
||||
|
||||
# Check Face color
|
||||
QAMoveTo 1 1
|
||||
QAMoveTo 1 1
|
||||
QAMoveTo ${Face_X} ${Face_Y}
|
||||
QAMoveTo ${Face_X} ${Face_Y}
|
||||
vmoveto 1 1
|
||||
vmoveto ${Face_X} ${Face_Y}
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor ${Face_X} ${Face_Y} 1 1 0
|
||||
|
||||
# Check Shell color
|
||||
QAMoveTo 1 1
|
||||
QAMoveTo 1 1
|
||||
QAMoveTo ${Shell_X} ${Shell_Y}
|
||||
QAMoveTo ${Shell_X} ${Shell_Y}
|
||||
vmoveto 1 1
|
||||
vmoveto ${Shell_X} ${Shell_Y}
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor ${Shell_X} ${Shell_Y} 1 1 0
|
||||
|
||||
# Check Solid color
|
||||
QAMoveTo 1 1
|
||||
QAMoveTo 1 1
|
||||
QAMoveTo ${Solid_X} ${Solid_Y}
|
||||
QAMoveTo ${Solid_X} ${Solid_Y}
|
||||
vmoveto 1 1
|
||||
vmoveto ${Solid_X} ${Solid_Y}
|
||||
|
||||
QAUpdateLights
|
||||
checkcolor ${Solid_X} ${Solid_Y} 1 1 0
|
||||
|
||||
set only_screen 1
|
||||
|
@ -46,8 +46,6 @@ AISDisplay D 0:1:4
|
||||
set x_coord 273
|
||||
set y_coord 115
|
||||
|
||||
QAUpdateLights
|
||||
|
||||
checkcolor $x_coord $y_coord 0.78 0.55 0.9
|
||||
|
||||
set only_screen 1
|
||||
|
@ -6,7 +6,6 @@ puts "=================================="
|
||||
|
||||
vinit
|
||||
GER61351 RED2
|
||||
QAUpdateLights
|
||||
|
||||
set x_coord 200
|
||||
set y_coord 200
|
||||
|
@ -10,7 +10,6 @@ puts "=================================="
|
||||
vinit
|
||||
|
||||
GER61351 0 255 0
|
||||
QAUpdateLights
|
||||
|
||||
set x_coord 200
|
||||
set y_coord 200
|
||||
|
@ -8,7 +8,6 @@ vinit
|
||||
box b 10 20 30
|
||||
GER61351 b RED2
|
||||
vfit
|
||||
QAUpdateLights
|
||||
|
||||
set x_coord 89
|
||||
set y_coord 363
|
||||
|
@ -16,7 +16,6 @@ vinit
|
||||
box b 30 20 10
|
||||
GER61351 b 0 0 255
|
||||
vfit
|
||||
QAUpdateLights
|
||||
|
||||
set x_coord 89
|
||||
set y_coord 363
|
||||
|
@ -16,7 +16,6 @@ vinit
|
||||
box b 20 10 30
|
||||
GER61351 b 0 255 255
|
||||
vfit
|
||||
QAUpdateLights
|
||||
|
||||
set x_coord 89
|
||||
set y_coord 363
|
||||
|
@ -8,7 +8,6 @@ vinit
|
||||
box b 20 10 30
|
||||
GER61351 b CYAN3
|
||||
vfit
|
||||
QAUpdateLights
|
||||
|
||||
set x_coord 88
|
||||
set y_coord 316
|
||||
|
@ -16,7 +16,7 @@ writestl a_1 ${aFile} 0
|
||||
|
||||
meshfromstl m1 ${aFile}
|
||||
meshcolors m1 elem2 1
|
||||
QARotateV3dView 4 0 0 1
|
||||
vrotate 4 0 0
|
||||
vfit
|
||||
|
||||
set x_coord 189
|
||||
|
Loading…
x
Reference in New Issue
Block a user