1 -- Created by: NW,JPB,CAL
2 -- Copyright (c) 1991-1999 Matra Datavision
3 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 -- This file is part of Open CASCADE Technology software library.
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
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.
13 -- Alternatively, this file may be used under the terms of Open CASCADE
14 -- commercial license or contractual agreement.
16 class AspectMarker3d from Graphic3d inherits AspectMarker from Aspect
20 ---Purpose: Creates and updates an attribute group for
21 -- marker type primitives. This group contains the type
22 -- of marker, its colour, and its scale factor.
23 ---Keywords: Marker, Color, Scale, Type
31 TypeOfMarker from Aspect,
32 HArray1OfByte from TColStd,
33 PixMap_Handle from Image,
34 MarkerImage_Handle from Graphic3d,
35 ShaderProgram_Handle from Graphic3d
40 returns mutable AspectMarker3d from Graphic3d;
42 ---Purpose: Creates a context table for marker primitives
43 -- defined with the following default values:
45 -- Marker type : TOM_X
49 Create (theType : TypeOfMarker from Aspect;
50 theColor : Color from Quantity;
51 theScale : Real from Standard)
52 returns mutable AspectMarker3d from Graphic3d;
54 Create (theColor : Color from Quantity;
55 theWidth : Integer from Standard;
56 theHeight : Integer from Standard;
57 theTextureBitmap : HArray1OfByte from TColStd)
58 returns mutable AspectMarker3d from Graphic3d;
60 ---Purpose: Creates a context table for marker primitives
61 -- defined with the specified values.
63 Create (theTextureImage : PixMap_Handle from Image)
64 returns mutable AspectMarker3d from Graphic3d;
66 ---Purpose: Creates a context table for marker primitives
67 -- defined with the specified values.
70 theWidth : out Integer from Standard;
71 theHeight: out Integer from Standard);
73 ---Purpose: Returns marker's texture size.
76 returns MarkerImage_Handle from Graphic3d;
78 ---Purpose: Returns marker's image texture.
79 --- Could be null handle if marker aspect has been initialized as
80 --- default type of marker.
81 ---C++: return const &
83 SetBitMap (me: mutable;
84 theWidth : Integer from Standard;
85 theHeight : Integer from Standard;
86 theTexture: HArray1OfByte from TColStd ) is static;
88 SetShaderProgram ( me : mutable;
89 theProgram : ShaderProgram_Handle from Graphic3d );
91 ---Purpose: Sets up OpenGL/GLSL shader program.
94 returns ShaderProgram_Handle from Graphic3d;
95 ---C++: return const &
100 -- Class: Graphic3d_AspectMarker3d
102 -- Purpose: Declaration of context-specific variables
103 -- for drawing 3d markers.
105 -- Reminder: A context for drawing 3d markers inherits:
107 -- - the type of marker
108 -- - the scale factor
109 -- defined by AspectMarker.
111 myMarkerImage : MarkerImage_Handle from Graphic3d is protected;
113 MyShaderProgram : ShaderProgram_Handle from Graphic3d;