// 23.02.99 abv: method ShapeFix::FillFace() removed
// 02.03.99 cky/rln: command edgeregul only accepts tolerance
// 15.06.99 abv/pdn: command comptol added (from S4030)
-#include <SWDRAW_ShapeTool.ixx>
-#include <Draw.hxx>
+#include <BRep_Builder.hxx>
+#include <BRep_Tool.hxx>
+#include <BRepBuilderAPI.hxx>
+#include <BRepClass3d_SolidClassifier.hxx>
+#include <BRepLib.hxx>
+#include <BRepTools_WireExplorer.hxx>
#include <DBRep.hxx>
+#include <Draw.hxx>
+#include <DrawTrSurf.hxx>
+#include <Geom2d_Curve.hxx>
+#include <Geom_Curve.hxx>
+#include <Geom_Surface.hxx>
+#include <Geom_TrimmedCurve.hxx>
+#include <GeomLib.hxx>
+#include <gp_Pnt.hxx>
+#include <gp_Pnt2d.hxx>
+#include <Precision.hxx>
+#include <SWDRAW_ShapeTool.hxx>
#include <TopAbs_ShapeEnum.hxx>
+#include <TopExp.hxx>
+#include <TopExp_Explorer.hxx>
#include <TopoDS.hxx>
-#include <TopoDS_Shape.hxx>
#include <TopoDS_Compound.hxx>
+#include <TopoDS_Edge.hxx>
+#include <TopoDS_Face.hxx>
+#include <TopoDS_Iterator.hxx>
+#include <TopoDS_Shape.hxx>
#include <TopoDS_Shell.hxx>
#include <TopoDS_Solid.hxx>
-#include <TopoDS_Face.hxx>
-#include <TopoDS_Wire.hxx>
-#include <TopoDS_Edge.hxx>
#include <TopoDS_Vertex.hxx>
-
-#include <BRepBuilderAPI.hxx>
-
-// + edge, face
-#include <TopoDS_Iterator.hxx>
-#include <TopExp_Explorer.hxx>
-#include <TopExp.hxx>
-#include <BRep_Tool.hxx>
-#include <Geom_Curve.hxx>
-#include <Geom_Surface.hxx>
-#include <Geom2d_Curve.hxx>
-#include <gp_Pnt.hxx>
-#include <gp_Pnt2d.hxx>
+#include <TopoDS_Wire.hxx>
#include <TopTools_IndexedMapOfShape.hxx>
-#include <BRepClass3d_SolidClassifier.hxx>
-
-#include <BRepTools_WireExplorer.hxx>
-#include <TopoDS_Iterator.hxx>
-
-#include <BRep_Builder.hxx>
-
-
+#include <stdio.h>
+// + edge, face
// + edgeregul/updtol
-#include <BRepLib.hxx>
-
// + fillface
-#include <Geom_TrimmedCurve.hxx>
-#include <stdio.h>
-#include <Precision.hxx>
-#include <DrawTrSurf.hxx>
-#include <GeomLib.hxx>
-
-
static Standard_Integer XSHAPE_edge
(Draw_Interpretor& di, Standard_Integer argc, const char** argv)
{
- if (argc < 2) { di<<"donner un nom de shape"<<"\n"; return 1 /* Error */; }
+ if (argc < 2) { di<<"donner un nom de shape\n"; return 1 /* Error */; }
Standard_CString arg1 = argv[1];
TopoDS_Shape Shape = DBRep::Get(arg1);
- if (Shape.IsNull()) { di<<arg1<<" inconnu"<<"\n"; return 1 /* Error */; }
+ if (Shape.IsNull()) { di<<arg1<<" inconnu\n"; return 1 /* Error */; }
Standard_Integer nbe = 0, nbf = 0; Standard_Real f3d,l3d;
for (TopExp_Explorer exp(Shape,TopAbs_EDGE); exp.More(); exp.Next()) {
(Draw_Interpretor& di, Standard_Integer argc, const char** argv)
{
char nomsh[30];
- if (argc < 2) { di<<"donner un nom de wire"<<"\n"; return 1 /* Error */; }
+ if (argc < 2) { di<<"donner un nom de wire\n"; return 1 /* Error */; }
Standard_CString arg1 = argv[1];
TopoDS_Shape Shape = DBRep::Get(arg1);
- if (Shape.IsNull()) { di<<arg1<<" inconnu"<<"\n"; return 1 /* Error */; }
- if (Shape.ShapeType() != TopAbs_WIRE) { di<<"Pas un WIRE"<<"\n"; return 1 /* Error */; }
+ if (Shape.IsNull()) { di<<arg1<<" inconnu\n"; return 1 /* Error */; }
+ if (Shape.ShapeType() != TopAbs_WIRE) { di<<"Pas un WIRE\n"; return 1 /* Error */; }
TopoDS_Wire W = TopoDS::Wire (Shape);
TopoDS_Face F;
if (argc > 2) {
}
int* nbs = new int[nbe+1]; for (i = 0; i <= nbe; i ++) nbs[i] = 0;
- di<<"TopoDS_Iterator(EDGE) donne "<<nbe<<" Edges dont "<<num<<" distinctes"<<"\n";
+ di<<"TopoDS_Iterator(EDGE) donne "<<nbe<<" Edges dont "<<num<<" distinctes\n";
nbe = num;
nbw = 0;
for (TopExp_Explorer exe(W.Oriented(TopAbs_FORWARD),TopAbs_EDGE); exe.More(); exe.Next()) nbw ++;
- di<<"TopExp_Explorer(EDGE) donne "<<nbw<<" Edges"<<"\n";
+ di<<"TopExp_Explorer(EDGE) donne "<<nbw<<" Edges\n";
nbw = 0;
BRepTools_WireExplorer bwe;
if (F.IsNull()) bwe.Init(W);
num = map.FindIndex(E);
nbs[num] ++;
}
- di<<"BRepTools_WireExplorer donne "<<nbw<<" Edges"<<"\n";
- di<<"Par rapport a la map, edges sautees par WE en NOWE_num, passees > 1 fois en MULTWE_num"<<"\n";
- if (nbs[0] > 0) di<<"NB : Edge n0 0 comptee "<<nbs[0]<<" fois"<<"\n";
+ di<<"BRepTools_WireExplorer donne "<<nbw<<" Edges\n";
+ di<<"Par rapport a la map, edges sautees par WE en NOWE_num, passees > 1 fois en MULTWE_num\n";
+ if (nbs[0] > 0) di<<"NB : Edge n0 0 comptee "<<nbs[0]<<" fois\n";
for (i = 1; i <= nbe; i ++) {
if (nbs[i] < 1) {
- di<<"Edge n0 "<<i<<" pas vue par WE"<<"\n";
+ di<<"Edge n0 "<<i<<" pas vue par WE\n";
Sprintf (nomsh,"NOWE_%d",i);
DBRep::Set (nomsh,map.FindKey(i));
} else if (nbs[i] > 1) {
- di<<"Edge n0 "<<i<<" vue par WE : "<<nbs[i]<<" fois"<<"\n";
+ di<<"Edge n0 "<<i<<" vue par WE : "<<nbs[i]<<" fois\n";
Sprintf (nomsh,"MULT_%d",i);
DBRep::Set (nomsh,map.FindKey(i));
}
static Standard_Integer XSHAPE_ssolid
(Draw_Interpretor& di, Standard_Integer argc, const char** argv)
{
- if (argc < 3) { di<<"Give new solid name + shell name"<<"\n"; return 1 /* Error */; }
+ if (argc < 3) { di<<"Give new solid name + shell name\n"; return 1 /* Error */; }
Standard_CString arg1 = argv[1];
TopoDS_Shape Shape = DBRep::Get(arg1);
if (Shape.IsNull()) { di<<"Shape unknown : "<<arg1<<"\n"; return 1 /* Error */; }
TopAbs_ShapeEnum shen = Shape.ShapeType();
if (shen == TopAbs_SOLID) {
- di<<" Already a Solide ! nothing done"<<"\n";
+ di<<" Already a Solide ! nothing done\n";
return 0;
}
if (shen != TopAbs_SHELL) {
- di<<" Not a Shell"<<"\n"; return 1 /* Error */;
+ di<<" Not a Shell\n"; return 1 /* Error */;
}
if (!Shape.Free ()) {
- di<<"Shape non Free -> Freeing"<<"\n";
+ di<<"Shape non Free -> Freeing\n";
Shape.Free(Standard_True);
}
TopoDS_Shell sh = TopoDS::Shell (Shape);
if (bsc3d.State() == TopAbs_IN) {
// Ensuite, inverser C-A-D REPRENDRE LES SHELLS
// (l inversion du solide n est pas bien prise en compte)
- di<<"NB : Shell to be reversed"<<"\n";
+ di<<"NB : Shell to be reversed\n";
TopoDS_Solid soli2;
B.MakeSolid (soli2); // on recommence
sh.Reverse();
return 0; // Done
}
-
-static Standard_Integer XSHAPE_edgeregul
- (Draw_Interpretor& di, Standard_Integer argc, const char** argv)
-{
- //cky/rln 03.02.99 To eliminate dependence of SWDRAW on TKXSBase (to use only ShapeHealing)
- Standard_Real tolang = Precision::Angular(); // = Interface_Static::RVal("XSTEP.encoderegularity.angle");
-// if (argc < 3) di<<"Current value for regularity angle : "<<tolang<<"\n";
- if (argc < 3) {
- di<<"Donner nom de shape.\n + option : angle en radian, sinon la valeur courante est prise"<<"\n";
- return 0;
- }
- Standard_CString arg1 = argv[1];
- Standard_CString arg2 = argv[2];
- if (argc > 2) tolang = Draw::Atof (arg2);
- if (tolang <= 0) {
- di<<"Not a suitable value : "<<tolang<<"\n";
- return 1 /* Error */;
- }
- TopoDS_Shape Shape = DBRep::Get(arg1);
- if (Shape.IsNull()) { di<<"Shape unknown : "<<arg1<<"\n"; return 1 /* Error */; }
-
- BRepLib::EncodeRegularity (Shape,tolang);
- return 0; // Done
-}
-
static Standard_Integer samerange (Draw_Interpretor& di, Standard_Integer argc, const char** argv)
{
if ( argc ==2 ) {
DrawTrSurf::Set(argv[1],NewC2d);
}
else {
- di << "Apply BRepLib::SameRange() to shape or GeomLib::SameRange() to pcurve:" << "\n";
- di << "> samerange shape" << "\n";
- di << "or" << "\n";
- di << "> samerange newcurve curve2d first last newfirst newlast" << "\n";
+ di << "Apply BRepLib::SameRange() to shape or GeomLib::SameRange() to pcurve:\n";
+ di << "> samerange shape\n";
+ di << "or\n";
+ di << "> samerange newcurve curve2d first last newfirst newlast\n";
}
return 0;
// ## DECLARATIONS ##
// ########################################
-static int initactor = 0;
-
void SWDRAW_ShapeTool::InitCommands (Draw_Interpretor& theCommands)
{
- if (initactor) return; initactor = 1;
+ static int initactor = 0;
+ if (initactor)
+ {
+ return;
+ }
+ initactor = 1;
const char* g;
g = "DE: old";
theCommands.Add ("ssolid","nom shell + nouveau nom solid",
__FILE__,XSHAPE_ssolid,g);
- theCommands.Add ("edgeregul","shape val",
- __FILE__,XSHAPE_edgeregul,g);
-
theCommands.Add ("samerange","{ shape | result curve2d first last newfirst newlast }",
__FILE__,samerange,g);
}