1 // Created on: 2002-03-19
2 // Created by: QA Admin
3 // Copyright (c) 2002-2012 OPEN CASCADE SAS
5 // The content of this file is subject to the Open CASCADE Technology Public
6 // License Version 6.5 (the "License"). You may not use the content of this file
7 // except in compliance with the License. Please obtain a copy of the License
8 // at http://www.opencascade.org and read it completely before using this file.
10 // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
11 // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 // The Original Code and all software distributed under the License is
14 // distributed on an "AS IS" basis, without warranty of any kind, and the
15 // Initial Developer hereby disclaims all such warranties, including without
16 // limitation, any warranties of merchantability, fitness for a particular
17 // purpose or non-infringement. Please see the License for the specific terms
18 // and conditions governing the rights and limitations under the License.
24 #include <Draw_Interpretor.hxx>
26 #include <DrawTrSurf.hxx>
27 #include <AIS_InteractiveContext.hxx>
28 #include <ViewerTest.hxx>
29 #include <AIS_Shape.hxx>
30 #include <TopoDS_Shape.hxx>
32 #include <BRepPrimAPI_MakeSphere.hxx>
33 #include <Graphic3d_AspectFillArea3d.hxx>
34 #include <AIS_Drawer.hxx>
35 #include <Prs3d_ShadingAspect.hxx>
37 //#include <AcisData_AcisModel.hxx>
38 #include <TopTools_HSequenceOfShape.hxx>
42 static Standard_Integer BUC60738 (Draw_Interpretor& di, Standard_Integer /*argc*/, const char ** argv)
45 Handle(AIS_InteractiveContext) aContext = ViewerTest::GetAISContext();
46 if(aContext.IsNull()) {
47 di << "use 'vinit' command before " << argv[0] << "\n";
51 TopoDS_Shape theSphere = BRepPrimAPI_MakeSphere(gp_Pnt(-40,0,0),20).Shape();
52 Handle_AIS_Shape theAISShape = new AIS_Shape(theSphere);
54 //display mode = Shading
55 theAISShape->SetDisplayMode(1);
58 Handle_AIS_Drawer theDrawer = theAISShape->Attributes();
59 Handle_Prs3d_ShadingAspect theShadingAspect = theDrawer->ShadingAspect();
60 Handle_Graphic3d_AspectFillArea3d theAspectFillArea3d = theShadingAspect->Aspect();
62 //allow to display the edges
63 theAspectFillArea3d->SetEdgeOn();
64 //set the style to Dash
66 //but the style is not set to dash : it is always solid
67 theAspectFillArea3d->SetEdgeLineType (Aspect_TOL_DASH);
68 theAspectFillArea3d->SetEdgeColor(Quantity_Color(Quantity_NOC_GREEN));
69 theAspectFillArea3d->SetInteriorStyle(Aspect_IS_EMPTY);
70 theShadingAspect->SetAspect(theAspectFillArea3d);
71 theDrawer->SetShadingAspect(theShadingAspect);
72 theAISShape->SetAttributes(theDrawer);
74 aContext->Display(theAISShape);
79 static int BUC60606(Draw_Interpretor& di, Standard_Integer argc, const char ** argv) {
81 di << "Use satread command instead of " << argv[0] << "\n";
85 di << "Usage : " << argv[0] << "name filename" << "\n";
88 // Handle_AcisData_AcisModel satModel = new AcisData_AcisModel();
89 // Standard_Character *DD = Tcl_GetVar(di.Interp(),"Draw_DataDir",TCL_GLOBAL_ONLY);
91 // Standard_Character *filename = new Standard_Character [strlen(DD)+strlen(argv[2])+1];
92 // sprintf(filename,"%s/%s",DD,argv[2]);
94 // satModel->ReadSaveFile(filename);
96 // Standard_Boolean success = !satModel.IsNull();
97 // cout << "n<-- SAT model read : " << (success?"true":"false") << endl << flush;
99 // Standard_Character *Ch=new Standard_Character [strlen(argv[1])+3];
100 // Handle_TopTools_HSequenceOfShape satShapes = satModel->GetShapes();
101 // Standard_Integer nbs=satShapes->Length();
102 // for(Standard_Integer i=1;i<=nbs;i++) {
103 // TopoDS_Shape xShape = satShapes->Value(i);
104 // if(!xShape.IsNull()) {
105 // sprintf(Ch,"%s_%i",argv[1],i);
106 // DBRep::Set(Ch,xShape);
107 // } else cout << "The shape " << argv[1] << "_" << i << " is NULL !" << endl;
115 static int BUC60627(Draw_Interpretor& di, Standard_Integer argc, const char ** argv) {
116 di << "Use satread command instead of " << argv[0] << "\n";
119 // perform the conversion
120 // as in AcisData.cdl --- that's alright
122 // cerr << "Usage : " << argv[0] << " BREP file" << endl;
125 // TopoDS_Shape shapeModel=DBRep::Get(argv[1]);
126 // Handle(AcisData_AcisModel) satModel = new AcisData_AcisModel();
127 // satModel->AddShape( shapeModel ); // memorizes "kegel2.brep"
128 // Standard_CString stringData;
129 // Standard_Integer nbChar; // write intermediate stringin order to compute ACIS data
130 // satModel->WriteStringData( stringData, nbChar );
131 // if ( satModel->IsDone() ) {
132 // satModel = new AcisData_AcisModel();
133 // satModel->ReadStringData( stringData );
134 // if ( satModel->IsDone() ) {
135 // // write into file
136 // satModel->WriteSaveFile( argv[2] );
137 // if ( ! satModel->IsDone() ) {
138 // cout << "The SAT madel does not wroute." << endl;
140 // } else cout << "The SAT model does not read from a string." << endl;
141 // // satModel->ReadStringData( stringData );
142 // } else cout << "The SAT model does not wroute into a string." << endl;
143 // // satModel->WriteStringData( stringData, nbChar );
147 void QABugs::Commands_4(Draw_Interpretor& theCommands) {
148 char *group = "QABugs";
150 theCommands.Add("BUC60738","BUC60738",__FILE__,BUC60738,group);
151 theCommands.Add("BUC60606","BUC60606 name",__FILE__,BUC60606,group);
152 theCommands.Add("BUC60627","BUC60627 name",__FILE__,BUC60627,group);