mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-04 13:13:25 +03:00
0024757: DRAW: Move commands fixshape, tolerance, and similar to MODELING
Package SWDRAW has been moved to TKTopTest toolkit. Class SWDRAW_ToVRML has been moved to XSDRAWSTLVRML_ToVRML Removed unused classes: SWDRAW_ShapeBuild SWDRAW_ShapeConstruct XSDRAW_Shape Removed NSPApply command Test script update Removed xtrace command
This commit is contained in:
@@ -33,12 +33,6 @@ is
|
||||
class ShapeAnalysis;
|
||||
---Purpose: Contains commands to activate package ShapeAnalysis
|
||||
|
||||
class ShapeBuild;
|
||||
---Purpose: Contains commands to activate package ShapeBuild
|
||||
|
||||
class ShapeConstruct;
|
||||
---Purpose: Contains commands to activate package ShapeConstruct
|
||||
|
||||
class ShapeCustom;
|
||||
---Purpose: Contains commands to activate package ShapeCustom
|
||||
|
||||
@@ -56,11 +50,6 @@ is
|
||||
|
||||
class ShapeProcessAPI;
|
||||
---Purpose: Contains commands to activate package ShapeProcessAPI
|
||||
|
||||
class ToVRML;
|
||||
---Purpose: A utility which writes a Shape to VRML format
|
||||
---Remark : It can be placed elsewhere, while it depends on
|
||||
-- only BRepMesh i.e. TOPOLOGY
|
||||
|
||||
Init (theCommands: in out Interpretor from Draw);
|
||||
---Purpose: Loads commands defined in SWDRAW
|
||||
|
@@ -18,8 +18,6 @@
|
||||
|
||||
#include <SWDRAW_ShapeTool.hxx>
|
||||
#include <SWDRAW_ShapeAnalysis.hxx>
|
||||
#include <SWDRAW_ShapeBuild.hxx>
|
||||
#include <SWDRAW_ShapeConstruct.hxx>
|
||||
#include <SWDRAW_ShapeCustom.hxx>
|
||||
#include <SWDRAW_ShapeExtend.hxx>
|
||||
#include <SWDRAW_ShapeFix.hxx>
|
||||
@@ -27,9 +25,6 @@
|
||||
#include <SWDRAW_ShapeProcess.hxx>
|
||||
#include <SWDRAW_ShapeProcessAPI.hxx>
|
||||
|
||||
// tovrml
|
||||
#include <TopoDS_Shape.hxx>
|
||||
#include <SWDRAW_ToVRML.hxx>
|
||||
//#72 rln 09.03.99 Packaging of SWDRAW
|
||||
|
||||
#include <ShapeProcess_OperLibrary.hxx>
|
||||
@@ -48,21 +43,6 @@ static int dejadraw = 0;
|
||||
|
||||
//#72 rln 09.03.99 Packaging of SWDRAW
|
||||
|
||||
//=======================================================================
|
||||
//function : tovrml
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
static Standard_Integer tovrml(Draw_Interpretor& /*di*/, Standard_Integer n, const char** a)
|
||||
{
|
||||
if (n < 3) return 1;
|
||||
SWDRAW_ToVRML avrml;
|
||||
TopoDS_Shape sh = DBRep::Get (a[1]);
|
||||
const char* filename = a[2];
|
||||
if (!avrml.Write (sh,filename)) return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : LocSet
|
||||
//purpose :
|
||||
@@ -138,42 +118,6 @@ static Standard_Integer LocDump (Draw_Interpretor& di, Standard_Integer argc, co
|
||||
return 0;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : NSPApply
|
||||
//purpose : CKY , 12 JUL 2001
|
||||
//=======================================================================
|
||||
|
||||
static Standard_Integer NSPApply (Draw_Interpretor& di, Standard_Integer argc, const char** argv)
|
||||
{
|
||||
if ( argc < 6) {
|
||||
di<<"NSPApply result(new shape) shape(initial shape) rscfile sequence tol [maxtol, default=1]"<<"\n";
|
||||
return 1;
|
||||
}
|
||||
TopoDS_Shape shape = DBRep::Get ( argv[2] );
|
||||
if (shape.IsNull()) {
|
||||
di << "No shape named \"" << argv[1] << "\" found" << "\n";
|
||||
return 1;
|
||||
}
|
||||
TopoDS_Shape newshape;
|
||||
Standard_Real tol = Draw::Atof(argv[5]);
|
||||
Standard_Real maxtol = 1.;
|
||||
if (argc > 6) maxtol = Draw::Atof(argv[6]);
|
||||
|
||||
XSAlgo::AlgoContainer()->PrepareForTransfer();
|
||||
Handle(Standard_Transient) info; // reserved for special uses
|
||||
Handle(Draw_ProgressIndicator) aProgress = new Draw_ProgressIndicator (di, 1);
|
||||
newshape = XSAlgo::AlgoContainer()->ProcessShape
|
||||
( shape, tol, maxtol, argv[3] , argv[4] , info, aProgress);
|
||||
// WHAT IS MISSING HERE IS MERGING with starting transfer map
|
||||
|
||||
if (newshape.IsNull()) {
|
||||
di<<"No result produced"<<"\n";
|
||||
}
|
||||
else
|
||||
DBRep::Set ( argv[1], newshape );
|
||||
return 0;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : Init
|
||||
//purpose :
|
||||
@@ -192,8 +136,6 @@ void SWDRAW::Init (Draw_Interpretor& theCommands)
|
||||
|
||||
SWDRAW_ShapeTool::InitCommands (theCommands);
|
||||
SWDRAW_ShapeAnalysis::InitCommands (theCommands);
|
||||
SWDRAW_ShapeBuild::InitCommands (theCommands);
|
||||
SWDRAW_ShapeConstruct::InitCommands (theCommands);
|
||||
SWDRAW_ShapeCustom::InitCommands (theCommands);
|
||||
SWDRAW_ShapeExtend::InitCommands (theCommands);
|
||||
SWDRAW_ShapeFix::InitCommands (theCommands);
|
||||
@@ -205,15 +147,9 @@ void SWDRAW::Init (Draw_Interpretor& theCommands)
|
||||
theCommands.Add("LocSet", "a [b [c]]: set loc b->a; use no args to get help",__FILE__,LocSet,"essai");
|
||||
theCommands.Add("LocDump", "a: dump location of a",__FILE__,LocDump,"essai");
|
||||
|
||||
//tovrml
|
||||
theCommands.Add("tovrml", "shape filename",__FILE__, tovrml, "essai");
|
||||
|
||||
// register operators for ShapeProcessing
|
||||
ShapeProcess_OperLibrary::Init();
|
||||
|
||||
// new shape processing
|
||||
theCommands.Add ("NSPApply","NSPApply result shape rscfilename sequence tol [maxtol, default=1]",
|
||||
__FILE__,NSPApply,"essai");
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
|
@@ -1,30 +0,0 @@
|
||||
-- Created on: 1999-03-09
|
||||
-- Created by: data exchange team
|
||||
-- Copyright (c) 1999 Matra Datavision
|
||||
-- Copyright (c) 1999-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 ShapeBuild from SWDRAW
|
||||
|
||||
---Purpose: Contains commands to activate package ShapeBuild
|
||||
-- List of DRAW commands and corresponding functionalities:
|
||||
|
||||
uses
|
||||
Interpretor from Draw
|
||||
|
||||
is
|
||||
|
||||
InitCommands (myclass; theCommands: in out Interpretor from Draw);
|
||||
---Purpose: Loads commands defined in ShapeBuild
|
||||
|
||||
end ShapeBuild;
|
@@ -1,26 +0,0 @@
|
||||
// Created on: 1999-03-09
|
||||
// Created by: data exchange team
|
||||
// Copyright (c) 1999-1999 Matra Datavision
|
||||
// Copyright (c) 1999-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 <SWDRAW_ShapeBuild.ixx>
|
||||
|
||||
//=======================================================================
|
||||
//function : InitCommands
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
void SWDRAW_ShapeBuild::InitCommands(Draw_Interpretor& )
|
||||
{
|
||||
}
|
@@ -1,31 +0,0 @@
|
||||
-- Created on: 1999-03-09
|
||||
-- Created by: data exchange team
|
||||
-- Copyright (c) 1999 Matra Datavision
|
||||
-- Copyright (c) 1999-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 ShapeConstruct from SWDRAW
|
||||
|
||||
---Purpose: Contains commands to activate package ShapeConstruct
|
||||
-- List of DRAW commands and corresponding functionalities:
|
||||
|
||||
uses
|
||||
|
||||
Interpretor from Draw
|
||||
|
||||
is
|
||||
|
||||
InitCommands (myclass; theCommands: in out Interpretor from Draw);
|
||||
---Purpose: Loads commands defined in ShapeConstruct
|
||||
|
||||
end ShapeConstruct;
|
@@ -1,21 +0,0 @@
|
||||
// Created on: 1999-03-09
|
||||
// Created by: data exchange team
|
||||
// Copyright (c) 1999-1999 Matra Datavision
|
||||
// Copyright (c) 1999-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 <SWDRAW_ShapeConstruct.ixx>
|
||||
|
||||
void SWDRAW_ShapeConstruct::InitCommands(Draw_Interpretor& /*theCommands*/)
|
||||
{
|
||||
}
|
@@ -1,80 +0,0 @@
|
||||
-- Created on: 1998-08-03
|
||||
-- Created by: Christian CAILLET
|
||||
-- Copyright (c) 1998-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-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 ToVRML from SWDRAW
|
||||
|
||||
---Purpose : Writes a Shape to a File in VRML Format
|
||||
|
||||
uses CString, OStream, AsciiString from TCollection, Shape from TopoDS
|
||||
|
||||
is
|
||||
|
||||
Create returns ToVRML;
|
||||
|
||||
EmissiveColorRed (me : in out) returns Real;
|
||||
---C++ : return &
|
||||
EmissiveColorGreen (me : in out) returns Real;
|
||||
---C++ : return &
|
||||
EmissiveColorBlue (me : in out) returns Real;
|
||||
---C++ : return &
|
||||
DiffuseColorRed (me : in out) returns Real;
|
||||
---C++ : return &
|
||||
DiffuseColorGreen (me : in out) returns Real;
|
||||
---C++ : return &
|
||||
DiffuseColorBlue (me : in out) returns Real;
|
||||
---C++ : return &
|
||||
Transparency (me : in out) returns Real;
|
||||
---C++ : return &
|
||||
AmbientIntensity (me : in out) returns Real;
|
||||
---C++ : return &
|
||||
SpecularColorRed (me : in out) returns Real;
|
||||
---C++ : return &
|
||||
SpecularColorGreen (me : in out) returns Real;
|
||||
---C++ : return &
|
||||
SpecularColorBlue (me : in out) returns Real;
|
||||
---C++ : return &
|
||||
Shininess (me : in out) returns Real;
|
||||
---C++ : return &
|
||||
Texture (me : in out) returns AsciiString;
|
||||
---C++ : return &
|
||||
CreaseAngle (me : in out) returns Real;
|
||||
---C++ : return &
|
||||
Deflection (me : in out) returns Real;
|
||||
---C++ : return &
|
||||
|
||||
|
||||
Write (me; shape : Shape from TopoDS; filename : CString) returns Boolean;
|
||||
---Purpose : conversion of a Shape into VRML format for 3d visualisation
|
||||
|
||||
fields
|
||||
|
||||
myEmissiveColorRed : Real; -- def 0.3
|
||||
myEmissiveColorGreen : Real; -- def 0.3
|
||||
myEmissiveColorBlue : Real; -- def 0.3
|
||||
myDiffuseColorRed : Real; -- def 0.3
|
||||
myDiffuseColorGreen : Real; -- def 0.3
|
||||
myDiffuseColorBlue : Real; -- def 0.5
|
||||
myTransparency : Real; -- def 0.0
|
||||
myAmbientIntensity : Real; -- def 0.3
|
||||
mySpecularColorRed : Real; -- def 0.7
|
||||
mySpecularColorGreen : Real; -- def 0.7
|
||||
mySpecularColorBlue : Real; -- def 0.8
|
||||
myShininess : Real; -- def 0.1
|
||||
myTexture : AsciiString; -- def " [] "
|
||||
myCreaseAngle : Real; -- def 1.57
|
||||
myDeflection : Real; -- def 0.005
|
||||
|
||||
end ToVRML;
|
@@ -1,188 +0,0 @@
|
||||
// Copyright (c) 1999-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 <SWDRAW_ToVRML.ixx>
|
||||
|
||||
#include <Standard_Stream.hxx>
|
||||
#include <BRepMesh_FastDiscret.hxx>
|
||||
#include <BRepMesh_Triangle.hxx>
|
||||
#include <BRepMesh_Edge.hxx>
|
||||
#include <Bnd_Box.hxx>
|
||||
#include <BRepBndLib.hxx>
|
||||
|
||||
#include <gp_Pnt.hxx> //ied_modif_for_compil_Nov-20-1998
|
||||
|
||||
SWDRAW_ToVRML::SWDRAW_ToVRML ()
|
||||
{
|
||||
myEmissiveColorRed = 0.3;
|
||||
myEmissiveColorGreen = 0.3;
|
||||
myEmissiveColorBlue = 0.3;
|
||||
myDiffuseColorRed = 0.3;
|
||||
myDiffuseColorGreen = 0.3;
|
||||
myDiffuseColorBlue = 0.5;
|
||||
myTransparency = 0.0;
|
||||
myAmbientIntensity = 0.3;
|
||||
mySpecularColorRed = 0.7;
|
||||
mySpecularColorGreen = 0.7;
|
||||
mySpecularColorBlue = 0.8;
|
||||
myShininess = 0.1;
|
||||
myTexture = " [] " ;
|
||||
myCreaseAngle = 1.57;
|
||||
myDeflection = 0.005;
|
||||
}
|
||||
|
||||
Standard_Real& SWDRAW_ToVRML::EmissiveColorRed () { return myEmissiveColorRed ; }
|
||||
Standard_Real& SWDRAW_ToVRML::EmissiveColorGreen() { return myEmissiveColorGreen; }
|
||||
Standard_Real& SWDRAW_ToVRML::EmissiveColorBlue () { return myEmissiveColorBlue ; }
|
||||
Standard_Real& SWDRAW_ToVRML::DiffuseColorRed () { return myDiffuseColorRed ; }
|
||||
Standard_Real& SWDRAW_ToVRML::DiffuseColorGreen () { return myDiffuseColorGreen ; }
|
||||
Standard_Real& SWDRAW_ToVRML::DiffuseColorBlue () { return myDiffuseColorBlue ; }
|
||||
Standard_Real& SWDRAW_ToVRML::Transparency () { return myTransparency ; }
|
||||
Standard_Real& SWDRAW_ToVRML::AmbientIntensity () { return myAmbientIntensity ; }
|
||||
Standard_Real& SWDRAW_ToVRML::SpecularColorRed () { return mySpecularColorRed ; }
|
||||
Standard_Real& SWDRAW_ToVRML::SpecularColorGreen() { return mySpecularColorGreen; }
|
||||
Standard_Real& SWDRAW_ToVRML::SpecularColorBlue () { return mySpecularColorBlue ; }
|
||||
Standard_Real& SWDRAW_ToVRML::Shininess () { return myShininess ; }
|
||||
TCollection_AsciiString& SWDRAW_ToVRML::Texture () { return myTexture ; }
|
||||
Standard_Real& SWDRAW_ToVRML::CreaseAngle() { return myCreaseAngle; }
|
||||
Standard_Real& SWDRAW_ToVRML::Deflection () { return myDeflection ; }
|
||||
|
||||
//=======================================================================
|
||||
// function : ToVRML::Write
|
||||
// purpose : conversion of a Shape into VRML format for 3d visualisation
|
||||
//=======================================================================
|
||||
|
||||
Standard_Boolean SWDRAW_ToVRML::Write
|
||||
(const TopoDS_Shape& aShape, const Standard_CString filename) const
|
||||
{
|
||||
filebuf thefile;
|
||||
ostream TheFileOut(&thefile);
|
||||
|
||||
if (thefile.open(filename,ios::out))
|
||||
{
|
||||
|
||||
// Creates facets from the shape
|
||||
// Create (defle : Real from Standard;
|
||||
// shape : Shape from TopoDS;
|
||||
// angl : Real from Standard= 0.17;
|
||||
// withShare : Boolean from Standard=Standard_True;
|
||||
// inshape : Boolean from Standard=Standard_False;
|
||||
// relative : Boolean from Standard=Standard_False;
|
||||
// shapetrigu: Boolean from Standard=Standard_False)
|
||||
// returns mutable Discret from BRepMesh;
|
||||
Bnd_Box B;
|
||||
BRepBndLib::Add(aShape, B);
|
||||
|
||||
Handle(BRepMesh_FastDiscret) TheDiscret =
|
||||
new BRepMesh_FastDiscret(myDeflection,
|
||||
aShape,
|
||||
B,
|
||||
0.17,
|
||||
Standard_True,
|
||||
Standard_False,
|
||||
Standard_True,
|
||||
Standard_True);
|
||||
|
||||
Standard_Integer i,j;
|
||||
|
||||
// header of the VRML file
|
||||
TheFileOut << "#VRML V2.0 utf8" << endl;
|
||||
TheFileOut << "Group {" << endl;
|
||||
TheFileOut << " children [ " << endl;
|
||||
TheFileOut << " NavigationInfo {" << endl;
|
||||
TheFileOut << " type \"EXAMINE\" " << endl;
|
||||
TheFileOut << " }," << endl;
|
||||
TheFileOut << "Shape {" << endl;
|
||||
|
||||
TheFileOut << " appearance Appearance {" << endl;
|
||||
TheFileOut << " texture ImageTexture {" << endl;
|
||||
TheFileOut << " url " << myTexture.ToCString() << endl;
|
||||
TheFileOut << " }" << endl;
|
||||
TheFileOut << " material Material { " << endl;
|
||||
TheFileOut << " diffuseColor " << myDiffuseColorRed << " " << myDiffuseColorGreen << " " << myDiffuseColorBlue << " " << endl;
|
||||
TheFileOut << " emissiveColor " << myEmissiveColorRed << " "
|
||||
<< myEmissiveColorGreen << " " << myEmissiveColorBlue << " " << endl;
|
||||
TheFileOut << " transparency " << myTransparency << endl;
|
||||
TheFileOut << " ambientIntensity " << myAmbientIntensity << " " << endl;
|
||||
TheFileOut << " specularColor " << mySpecularColorRed << " " << mySpecularColorGreen << " " << mySpecularColorBlue << " " << endl;
|
||||
TheFileOut << " shininess " <<myShininess << " " << endl;
|
||||
TheFileOut << " }" << endl;
|
||||
TheFileOut << " }" << endl;
|
||||
|
||||
TheFileOut << " geometry IndexedFaceSet {" << endl;
|
||||
TheFileOut << " coord Coordinate {" << endl;
|
||||
TheFileOut << " point [" << endl;
|
||||
|
||||
// puts the coordinates of all the vertices using the order
|
||||
// given during the discretisation
|
||||
for (i=1;i<=TheDiscret->NbVertices();i++)
|
||||
{
|
||||
gp_Pnt TheVertex=TheDiscret->Pnt(i);
|
||||
TheFileOut << " "
|
||||
<< TheVertex.Coord().X() << " "
|
||||
<< TheVertex.Coord().Y() << " "
|
||||
<< TheVertex.Coord().Z() << "," << endl;
|
||||
}
|
||||
TheFileOut << " ]" << endl;
|
||||
TheFileOut << " }" << endl;
|
||||
|
||||
TheFileOut << " coordIndex [" << endl;
|
||||
|
||||
// retrieves all the triangles in order to draw the facets
|
||||
for (j=1; j <= TheDiscret->NbTriangles(); j++)
|
||||
{
|
||||
BRepMesh_Triangle TheTri=TheDiscret->Triangle(j);
|
||||
Standard_Integer e1,e2,e3,i1,i2,i3;
|
||||
Standard_Boolean b1,b2,b3;
|
||||
|
||||
TheTri.Edges(e1,e2,e3,b1,b2,b3);
|
||||
|
||||
if (b1)
|
||||
{
|
||||
i1 = TheDiscret->Edge(e1).FirstNode()-1;
|
||||
i2 = TheDiscret->Edge(e1).LastNode()-1;
|
||||
}
|
||||
else
|
||||
{
|
||||
i2 = TheDiscret->Edge(e1).FirstNode()-1;
|
||||
i1 = TheDiscret->Edge(e1).LastNode()-1;
|
||||
}
|
||||
|
||||
if (b2)
|
||||
{
|
||||
i3 = TheDiscret->Edge(e2).LastNode()-1;
|
||||
}
|
||||
else
|
||||
{
|
||||
i3 = TheDiscret->Edge(e2).FirstNode()-1;
|
||||
}
|
||||
|
||||
TheFileOut << " " << i1 << ", " << i2 << ", " << i3 << ", -1, " << endl;
|
||||
}
|
||||
|
||||
TheFileOut << " ]" << endl;
|
||||
TheFileOut << " solid FALSE" << endl; // it is not a closed solid
|
||||
TheFileOut << " creaseAngle " << myCreaseAngle << " " << endl; // for smooth shading
|
||||
TheFileOut << " }" << endl;
|
||||
TheFileOut << " }" << endl;
|
||||
TheFileOut << " ]" << endl;
|
||||
TheFileOut << "} " << endl;
|
||||
|
||||
}
|
||||
else return Standard_False; // failure when opening file
|
||||
|
||||
thefile.close();
|
||||
|
||||
return Standard_True;
|
||||
}
|
||||
|
Reference in New Issue
Block a user