0023951: Visibility of free, simple shapes not saved when writing XCAF Document into...
[occt.git] / src / STEPCAFControl / STEPCAFControl_ActorWrite.cxx
CommitLineData
b311480e 1// Created on: 2000-10-05
2// Created by: Andrey BETENEV
973c2be1 3// Copyright (c) 2000-2014 OPEN CASCADE SAS
b311480e 4//
973c2be1 5// This file is part of Open CASCADE Technology software library.
b311480e 6//
d5f74e42 7// This library is free software; you can redistribute it and/or modify it under
8// the terms of the GNU Lesser General Public License version 2.1 as published
973c2be1 9// by the Free Software Foundation, with special exception defined in the file
10// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11// distribution for complete text of the license and disclaimer of any warranty.
b311480e 12//
973c2be1 13// Alternatively, this file may be used under the terms of Open CASCADE
14// commercial license or contractual agreement.
7fd59977 15
16#include <STEPCAFControl_ActorWrite.ixx>
17
18//=======================================================================
19//function : STEPCAFControl_ActorWrite
20//purpose :
21//=======================================================================
22
23STEPCAFControl_ActorWrite::STEPCAFControl_ActorWrite () : myStdMode(Standard_True)
24{
25}
26
27//=======================================================================
28//function : ClearMap
29//purpose :
30//=======================================================================
31
32void STEPCAFControl_ActorWrite::SetStdMode (const Standard_Boolean stdmode)
33{
34 myStdMode = stdmode;
35 if ( myStdMode ) ClearMap();
36}
37
38//=======================================================================
39//function : ClearMap
40//purpose :
41//=======================================================================
42
43void STEPCAFControl_ActorWrite::ClearMap ()
44{
45 myMap.Clear();
46}
47
48//=======================================================================
49//function : RegisterAssembly
50//purpose :
51//=======================================================================
52
53void STEPCAFControl_ActorWrite::RegisterAssembly (const TopoDS_Shape &S)
54{
55 if ( ! myStdMode && S.ShapeType() == TopAbs_COMPOUND ) myMap.Add ( S );
56}
57
58//=======================================================================
59//function : IsAssembly
60//purpose :
61//=======================================================================
62
63Standard_Boolean STEPCAFControl_ActorWrite::IsAssembly (TopoDS_Shape &S) const
64{
65 if ( myStdMode ) return STEPControl_ActorWrite::IsAssembly ( S );
66 return myMap.Contains ( S );
67}
68