0024394: Visualization - implement more general way for rendering of immediate objects
[occt.git] / src / Graphic3d / Graphic3d_CStructure.cxx
1 // Copyright (c) 1995-1999 Matra Datavision
2 // Copyright (c) 1999-2014 OPEN CASCADE SAS
3 //
4 // This file is part of Open CASCADE Technology software library.
5 //
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.
11 //
12 // Alternatively, this file may be used under the terms of Open CASCADE
13 // commercial license or contractual agreement.
14
15 #include <Graphic3d_CStructure.hxx>
16
17 #include <Graphic3d_Structure.pxx>
18 #include <Graphic3d_StructureManager.hxx>
19 #include <Graphic3d_TransModeFlags.hxx>
20
21 IMPLEMENT_STANDARD_HANDLE (Graphic3d_CStructure, Standard_Transient)
22 IMPLEMENT_STANDARD_RTTIEXT(Graphic3d_CStructure, Standard_Transient)
23
24 //=============================================================================
25 //function : Graphic3d_CStructure
26 //purpose  :
27 //=============================================================================
28 Graphic3d_CStructure::Graphic3d_CStructure (const Handle(Graphic3d_StructureManager)& theManager)
29 : Id               (theManager->NewIdentification()),
30   myZLayer         (Graphic3d_ZLayerId_Default),
31   Priority         (Structure_MAX_PRIORITY / 2),
32   PreviousPriority (Structure_MAX_PRIORITY / 2),
33   Composition      (Graphic3d_TOC_REPLACE),
34   ContainsFacet    (0),
35   IsInfinite       (0),
36   stick            (0),
37   highlight        (0),
38   visible          (1),
39   HLRValidation    (0),
40   IsForHighlight   (Standard_False),
41   IsMutable        (Standard_False),
42   Is2dText         (Standard_False),
43   myGraphicDriver  (theManager->GraphicDriver())
44 {
45   for (Standard_Integer i = 0; i <= 3; ++i)
46   {
47     for (Standard_Integer j = 0; j <= 3; ++j)
48     {
49       Transformation[i][j] = (i == j) ? 1.0f : 0.0f;
50     }
51   }
52
53   ContextLine.IsDef     = 1,
54   ContextFillArea.IsDef = 1,
55   ContextMarker.IsDef   = 1,
56   ContextText.IsDef     = 1;
57
58   ContextLine.IsSet     = 0,
59   ContextFillArea.IsSet = 0,
60   ContextMarker.IsSet   = 0,
61   ContextText.IsSet     = 0;
62
63   TransformPersistence.IsSet   = 0;
64   TransformPersistence.Flag    = Graphic3d_TMF_None;
65   TransformPersistence.Point.x = 0.0;
66   TransformPersistence.Point.y = 0.0;
67   TransformPersistence.Point.z = 0.0;
68 }