c7fb67496397e8db31b02bbc76cc46a6d8697c70
[occt.git] / src / Graphic3d / Graphic3d_AspectMarker3d.cdl
1 -- Created by: NW,JPB,CAL
2 -- Copyright (c) 1991-1999 Matra Datavision
3 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
4 --
5 -- The content of this file is subject to the Open CASCADE Technology Public
6 -- License Version 6.5 (the "License"). You may not use the content of this file
7 -- except in compliance with the License. Please obtain a copy of the License
8 -- at http://www.opencascade.org and read it completely before using this file.
9 --
10 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
11 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
12 --
13 -- The Original Code and all software distributed under the License is
14 -- distributed on an "AS IS" basis, without warranty of any kind, and the
15 -- Initial Developer hereby disclaims all such warranties, including without
16 -- limitation, any warranties of merchantability, fitness for a particular
17 -- purpose or non-infringement. Please see the License for the specific terms
18 -- and conditions governing the rights and limitations under the License.
19
20
21 class AspectMarker3d from Graphic3d inherits AspectMarker from Aspect
22
23         ---Version:
24
25         ---Purpose: Creates and updates an attribute group for
26         --          marker type primitives. This group contains the type
27         --          of marker, its colour, and its scale factor.
28         ---Keywords: Marker, Color, Scale, Type
29
30         ---Warning:
31         ---References:
32
33 uses
34
35         Color           from Quantity,
36
37         TypeOfMarker    from Aspect, 
38          
39         HArray1OfByte   from TColStd
40
41 is
42
43         Create
44                 returns mutable AspectMarker3d from Graphic3d;
45         ---Level: Public
46         ---Purpose: Creates a context table for marker primitives
47         --          defined with the following default values:
48         --
49         --          Marker type         : TOM_X
50         --          Colour              : YELLOW
51         --          Scale factor        : 1.0
52         
53         Create ( AType      : TypeOfMarker from Aspect;
54                  AColor     : Color from Quantity;
55                  AScaleOrId : Real from Standard
56                )
57                returns mutable AspectMarker3d from Graphic3d;
58
59         Create ( AType      : TypeOfMarker from Aspect;
60                  AColor     : Color from Quantity;
61                  AScaleOrId : Real from Standard;
62                  AWidth     : Integer from Standard;
63                  AHeight    : Integer from Standard;
64                  ATexture   : HArray1OfByte from TColStd
65                 )                
66                 returns mutable AspectMarker3d from Graphic3d;
67         ---Level: Public
68         ---Purpose: Creates a context table for marker primitives
69         --          defined with the specified values.
70
71         GetTextureSize (me:mutable; AWidth     : out Integer from Standard;
72                                     AHeight    : out Integer from Standard);
73         ---Level: Public
74         ---Purpose: Returns marker's texture size.                  
75
76         GetTexture (me:mutable)
77         returns HArray1OfByte from TColStd;
78         ---Level: Public
79         ---Purpose: Returns marker's texture. 
80         ---C++: return const &
81
82         SetTexture ( me: mutable;
83                      AWidth     : Integer from Standard;
84                      AHeight    : Integer from Standard;
85                      ATexture   : HArray1OfByte from TColStd ) is static;
86         
87 -- 
88
89 fields
90
91 --
92 -- Class        :       Graphic3d_AspectMarker3d
93 --
94 -- Purpose      :       Declaration of context-specific variables
95 --                      for drawing 3d markers.
96 --
97 -- Reminder     :       A context for drawing 3d markers inherits:
98 --                      - the colour
99 --                      - the type of marker
100 --                      - the scale factor
101 --                      defined by AspectMarker.
102
103         MyTexture       : HArray1OfByte from TColStd is protected;
104         MyTextureWidth  : Integer from Standard is protected;
105         MyTextureHeight : Integer from Standard is protected;
106     
107 end AspectMarker3d;