0031687: Draw Harness, ViewerTest - extend command vrenderparams with option updating...
[occt.git] / src / HLRBRep / HLRBRep_FaceData.cxx
CommitLineData
b311480e 1// Created on: 1997-04-17
2// Created by: Christophe MARION
3// Copyright (c) 1997-1999 Matra Datavision
973c2be1 4// Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5//
973c2be1 6// This file is part of Open CASCADE Technology software library.
b311480e 7//
d5f74e42 8// This library is free software; you can redistribute it and/or modify it under
9// the terms of the GNU Lesser General Public License version 2.1 as published
973c2be1 10// by the Free Software Foundation, with special exception defined in the file
11// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12// distribution for complete text of the license and disclaimer of any warranty.
b311480e 13//
973c2be1 14// Alternatively, this file may be used under the terms of Open CASCADE
15// commercial license or contractual agreement.
7fd59977 16
42cf5bc1 17
7fd59977 18#include <BRep_Tool.hxx>
42cf5bc1 19#include <HLRAlgo_EdgesBlock.hxx>
20#include <HLRAlgo_WiresBlock.hxx>
21#include <HLRBRep_FaceData.hxx>
22#include <HLRBRep_Surface.hxx>
23#include <TopoDS_Face.hxx>
7fd59977 24
25//=======================================================================
26//function : FaceData
27//purpose :
28//=======================================================================
7fd59977 29HLRBRep_FaceData::HLRBRep_FaceData () :
30myFlags(0),mySize(0)
31{ Selected(Standard_True); }
32
33//=======================================================================
34//function : Set
35//purpose :
36//=======================================================================
37
38void HLRBRep_FaceData::Set (const TopoDS_Face& FG,
39 const TopAbs_Orientation Or,
40 const Standard_Boolean Cl,
41 const Standard_Integer NW)
42{
43 Closed(Cl);
44 Geometry().Surface(FG);
45 myTolerance = (Standard_ShortReal)(BRep_Tool::Tolerance(FG));
46 Orientation(Or);
47 Wires() = new HLRAlgo_WiresBlock(NW);
48}
49
50//=======================================================================
51//function : SetWire
52//purpose :
53//=======================================================================
54
55void HLRBRep_FaceData::SetWire (const Standard_Integer WI,
56 const Standard_Integer NE)
57{
58 Wires()->Set(WI,new HLRAlgo_EdgesBlock(NE));
59}
60
61//=======================================================================
62//function : SetWEdge
63//purpose :
64//=======================================================================
65
66void HLRBRep_FaceData::SetWEdge (const Standard_Integer WI,
67 const Standard_Integer EWI,
68 const Standard_Integer EI,
69 const TopAbs_Orientation Or,
70 const Standard_Boolean OutL,
71 const Standard_Boolean Inte,
72 const Standard_Boolean Dble,
73 const Standard_Boolean IsoL)
74{
75 Wires()->Wire(WI)->Edge (EWI,EI);
76 Wires()->Wire(WI)->Orientation(EWI,Or);
77 Wires()->Wire(WI)->OutLine (EWI,OutL);
78 Wires()->Wire(WI)->Internal (EWI,Inte);
79 Wires()->Wire(WI)->Double (EWI,Dble);
80 Wires()->Wire(WI)->IsoLine (EWI,IsoL);
81}