1 // Copyright (c) 1995-1999 Matra Datavision
2 // Copyright (c) 1999-2014 OPEN CASCADE SAS
4 // This file is part of Open CASCADE Technology software library.
6 // This library is free software; you can redistribute it and/or modify it under
7 // the terms of the GNU Lesser General Public License version 2.1 as published
8 // by the Free Software Foundation, with special exception defined in the file
9 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
10 // distribution for complete text of the license and disclaimer of any warranty.
12 // Alternatively, this file may be used under the terms of Open CASCADE
13 // commercial license or contractual agreement.
15 #include <Graphic3d_CStructure.hxx>
17 #include <Graphic3d_Structure.pxx>
18 #include <Graphic3d_StructureManager.hxx>
19 #include <Graphic3d_TransModeFlags.hxx>
21 IMPLEMENT_STANDARD_HANDLE (Graphic3d_CStructure, Standard_Transient)
22 IMPLEMENT_STANDARD_RTTIEXT(Graphic3d_CStructure, Standard_Transient)
24 //=============================================================================
25 //function : Graphic3d_CStructure
27 //=============================================================================
28 Graphic3d_CStructure::Graphic3d_CStructure (const Handle(Graphic3d_StructureManager)& theManager)
29 : Id (theManager->NewIdentification()),
30 Priority (Structure_MAX_PRIORITY / 2),
31 PreviousPriority (Structure_MAX_PRIORITY / 2),
32 Composition (Graphic3d_TOC_REPLACE),
40 myGraphicDriver (theManager->GraphicDriver())
42 for (Standard_Integer i = 0; i <= 3; ++i)
44 for (Standard_Integer j = 0; j <= 3; ++j)
46 Transformation[i][j] = (i == j) ? 1.0f : 0.0f;
50 ContextLine.IsDef = 1,
51 ContextFillArea.IsDef = 1,
52 ContextMarker.IsDef = 1,
53 ContextText.IsDef = 1;
55 ContextLine.IsSet = 0,
56 ContextFillArea.IsSet = 0,
57 ContextMarker.IsSet = 0,
58 ContextText.IsSet = 0;
60 TransformPersistence.IsSet = 0;
61 TransformPersistence.Flag = Graphic3d_TMF_None;
62 TransformPersistence.Point.x = 0.0;
63 TransformPersistence.Point.y = 0.0;
64 TransformPersistence.Point.z = 0.0;