1 -- Created on: 1995-01-13
3 -- Copyright (c) 1995-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 class MarkerStyle from Aspect
21 ---Purpose: This class defines a Marker Style.
22 -- The Style can be Predefined or defined by the user
23 -- A user defined style must be described in the space <-1,+1>
25 ---Keywords: MarkerStyle
31 TypeOfMarker from Aspect,
32 Array1OfReal from TColStd,
33 Array1OfBoolean from TColStd,
34 HArray1OfBoolean from TColStd,
35 Array1OfShortReal from TShort,
36 HArray1OfShortReal from TShort
39 MarkerStyleDefinitionError from Aspect
42 Create returns MarkerStyle from Aspect;
44 ---Purpose: Creates a marker style with the default value of
45 -- MarkerStyle type : POINT
48 Create ( aType : TypeOfMarker ) returns MarkerStyle from Aspect ;
50 ---Purpose: Creates the marker style <aType>.
52 Create ( aXpoint : Array1OfReal ;
53 aYpoint : Array1OfReal )
54 returns MarkerStyle from Aspect
56 ---Purpose: Creates a marker style from a implicit draw point
58 -- Each coordinate <aXpoint(i),aYpoint(i)> must be defined
60 raises MarkerStyleDefinitionError;
62 -- if <aXpoint>,<aYpoint> have different length.
63 -- if one coordinate is <-1 or >+1.
65 Create ( aXpoint : Array1OfReal ;
66 aYpoint : Array1OfReal ;
67 aSpoint : Array1OfBoolean )
68 returns MarkerStyle from Aspect
70 ---Purpose: Creates a marker style from a move-draw point descriptor .
71 -- Each coordinate <aXpoint(i),aYpoint(i)> must be defined
73 -- Each status point <aSpoint(i)> must be TRUE for drawing
74 --or FALSE for moving to the last at this point .
75 raises MarkerStyleDefinitionError;
77 -- if <aXpoint>,<aYpoint>,<aSpoint> have different length.
78 -- if one coordinate is <-1 or >+1
80 ---------------------------------------------------
81 -- Category: Methods to modify the class definition
82 ---------------------------------------------------
84 Assign ( me : in out ;
85 Other : MarkerStyle from Aspect )
86 returns MarkerStyle from Aspect is static;
88 ---Purpose: Updates the marker style <me> from the definition of the
89 -- marker style <Other>.
90 ---Category: Methods to modify the class definition
91 ---C++: alias operator =
94 ----------------------------
95 -- Category: Inquire methods
96 ----------------------------
98 Type ( me ) returns TypeOfMarker is static;
100 ---Purpose: Returns the type of the marker style <me>
101 ---Category: Inquire methods
103 Length ( me ) returns Integer is static;
105 ---Purpose: Returns the components length of the marker descriptors
106 ---Category: Inquire methods
108 Values ( me ; aRank : Integer ;
109 aX,aY : out Real ) returns Boolean
111 ---Purpose: Returns the point and status of a marker style
112 --descriptor of rank <aRank>.
113 raises MarkerStyleDefinitionError is static;
115 -- If aRank is < 1 or > Length()
116 ---Category: Inquire methods
118 XValues ( me ) returns Array1OfShortReal is static;
120 ---Purpose: Returns the X vector of a marker style descriptor
121 ---Category: Inquire methods
122 ---C++: return const &
124 YValues ( me ) returns Array1OfShortReal is static;
126 ---Purpose: Returns the Y vector of a marker style descriptor
127 ---Category: Inquire methods
128 ---C++: return const &
130 SValues ( me ) returns Array1OfBoolean is static;
132 ---Purpose: Returns the State vector of a marker style descriptor
133 ---Category: Inquire methods
134 ---C++: return const &
136 IsEqual(me; Other : MarkerStyle from Aspect) returns Boolean;
137 ---C++: alias operator==
139 IsNotEqual(me; Other : MarkerStyle from Aspect) returns Boolean;
140 ---C++: alias operator!=
142 ----------------------------
143 -- Category: Private methods
144 ----------------------------
146 SetPredefinedStyle ( me : in out ) is static private;
148 ---Purpose: Set MyMarkerDescriptor with the predefined style values
149 -- according of current type
150 ---Category: Private methods
157 -- Class : Aspect_MarkerStyle
159 -- Purpose : Declaration of variables specific to marker styles
162 MyMarkerType : TypeOfMarker;
163 MyXpoint : HArray1OfShortReal;
164 MyYpoint : HArray1OfShortReal;
165 MySpoint : HArray1OfBoolean;