sketchup-api-stubs 0.7.7 → 0.7.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/sketchup-api-stubs/sketchup.rb +151 -147
- data/lib/sketchup-api-stubs/stubs/{array.rb → Array.rb} +741 -741
- data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -322
- data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +172 -172
- data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +126 -126
- data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
- data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +400 -400
- data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
- data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +509 -509
- data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +476 -478
- data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +263 -263
- data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +141 -141
- data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +522 -522
- data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +693 -691
- data/lib/sketchup-api-stubs/stubs/{geom.rb → Geom.rb} +351 -351
- data/lib/sketchup-api-stubs/stubs/{languagehandler.rb → LanguageHandler.rb} +93 -92
- data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +595 -573
- data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +747 -411
- data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -179
- data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
- data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +517 -515
- data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
- data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -148
- data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -353
- data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +354 -349
- data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
- data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
- data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
- data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -370
- data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
- data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
- data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -225
- data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -567
- data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
- data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
- data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +183 -183
- data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +387 -387
- data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -209
- data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +344 -344
- data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
- data/lib/sketchup-api-stubs/stubs/Layout/ReferenceEntity.rb +82 -0
- data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +692 -694
- data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
- data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
- data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
- data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
- data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
- data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
- data/lib/sketchup-api-stubs/stubs/{length.rb → Length.rb} +278 -278
- data/lib/sketchup-api-stubs/stubs/{numeric.rb → Numeric.rb} +249 -249
- data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -144
- data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +169 -157
- data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
- data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +150 -152
- data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +281 -286
- data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
- data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -302
- data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -478
- data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
- data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +121 -122
- data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -294
- data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +659 -577
- data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -594
- data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
- data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
- data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
- data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -201
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +449 -425
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -74
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -104
- data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -306
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -42
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
- data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +406 -396
- data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +397 -502
- data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
- data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1239 -1126
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +261 -0
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -127
- data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -545
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -60
- data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +125 -126
- data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +937 -917
- data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +102 -104
- data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +750 -750
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +282 -292
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
- data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +468 -468
- data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -266
- data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -189
- data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +406 -405
- data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -84
- data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -306
- data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +326 -327
- data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -422
- data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -427
- data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -249
- data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
- data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
- data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
- data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +114 -112
- data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
- data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -414
- data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +317 -318
- data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -142
- data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -93
- data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1652 -1654
- data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -357
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +130 -131
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +271 -284
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
- data/lib/sketchup-api-stubs/stubs/Sketchup/Overlay.rb +490 -0
- data/lib/sketchup-api-stubs/stubs/Sketchup/OverlaysManager.rb +116 -0
- data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -797
- data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +361 -363
- data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -77
- data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +478 -478
- data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
- data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +361 -364
- data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -45
- data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
- data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +458 -459
- data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
- data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
- data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +255 -257
- data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -59
- data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -40
- data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
- data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -217
- data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
- data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -217
- data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
- data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +834 -835
- data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
- data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -156
- data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -71
- data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
- data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1311 -1307
- data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -45
- data/lib/sketchup-api-stubs/stubs/{sketchup.rb → Sketchup.rb} +1377 -1353
- data/lib/sketchup-api-stubs/stubs/{sketchupextension.rb → SketchupExtension.rb} +353 -353
- data/lib/sketchup-api-stubs/stubs/{string.rb → String.rb} +24 -24
- data/lib/sketchup-api-stubs/stubs/UI/Command.rb +389 -317
- data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +494 -478
- data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +269 -269
- data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +241 -240
- data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +635 -633
- data/lib/sketchup-api-stubs/stubs/{ui.rb → UI.rb} +683 -672
- data/lib/sketchup-api-stubs/stubs/_top_level.rb +303 -311
- data/lib/sketchup-api-stubs.rb +1 -1
- metadata +20 -16
@@ -1,174 +1,174 @@
|
|
1
|
-
# Copyright:: Copyright
|
2
|
-
# License:: The MIT License (MIT)
|
3
|
-
|
4
|
-
# A simple rectangular shape entity.
|
5
|
-
#
|
6
|
-
# @version LayOut 2018
|
7
|
-
class Layout::Rectangle < Layout::Entity
|
8
|
-
|
9
|
-
# Constants
|
10
|
-
|
11
|
-
TYPE_BULGED = nil # Stub value.
|
12
|
-
TYPE_LOZENGE = nil # Stub value.
|
13
|
-
TYPE_NORMAL = nil # Stub value.
|
14
|
-
TYPE_ROUNDED = nil # Stub value.
|
15
|
-
|
16
|
-
# Instance Methods
|
17
|
-
|
18
|
-
# The {#initialize} method creates a new normal, lozenge, bulged or rounded
|
19
|
-
# {Layout::Rectangle}, depending on the type passed in.
|
20
|
-
#
|
21
|
-
# The rectangle type can be one of the following values:
|
22
|
-
# [+Layout::Rectangle::TYPE_NORMAL+]
|
23
|
-
# [+Layout::Rectangle::TYPE_ROUNDED+]
|
24
|
-
# [+Layout::Rectangle::TYPE_LOZENGE+]
|
25
|
-
# [+Layout::Rectangle::TYPE_BULGED+]
|
26
|
-
#
|
27
|
-
# @example
|
28
|
-
# upper_left = Geom::Point2d.new(1, 1)
|
29
|
-
# lower_right = Geom::Point2d.new(2, 2)
|
30
|
-
# bounds = Geom::Bounds2d.new(upper_left, lower_right)
|
31
|
-
# # Creates a normal rectangle
|
32
|
-
# rect = Layout::Rectangle.new(bounds)
|
33
|
-
# rounded_rect = Layout::Rectangle.new_rounded(
|
34
|
-
# Layout::Rectangle::TYPE_ROUNDED, bounds, radius)
|
35
|
-
# lozenge_rect = Layout::Rectangle.new_lozenge(
|
36
|
-
# Layout::Rectangle::TYPE_LOZENGE, bounds)
|
37
|
-
# bulged_rect = Layout::Rectangle.new_bulged(Layout::Rectangle::TYPE_BULGED,
|
38
|
-
# bounds, bulge_distance)
|
39
|
-
#
|
40
|
-
# @overload initialize(bounds)
|
41
|
-
#
|
42
|
-
# @param [Geom::Bounds2d] bounds
|
43
|
-
# @return [Layout::Rectangle]
|
44
|
-
#
|
45
|
-
# @overload initialize(bounds, type)
|
46
|
-
#
|
47
|
-
# @param [Geom::Bounds2d] bounds
|
48
|
-
# @param [Integer] type
|
49
|
-
# The type of {Layout::Rectangle} to create. Must be
|
50
|
-
# +Layout::Rectangle::TYPE_NORMAL+ or +Layout::Rectangle::TYPE_LOZENGE+
|
51
|
-
# @return [Layout::Rectangle]
|
52
|
-
#
|
53
|
-
# @overload initialize(bounds, type, radius)
|
54
|
-
#
|
55
|
-
# @param [Geom::Bounds2d] bounds
|
56
|
-
# @param [Integer] type
|
57
|
-
# The type of {Layout::Rectangle} to create. Must be
|
58
|
-
# +Layout::Rectangle::TYPE_BULGED+ or +Layout::Rectangle::TYPE_ROUNDED+
|
59
|
-
# @param [Float] radius
|
60
|
-
# @return [Layout::Rectangle]
|
61
|
-
#
|
62
|
-
# @raise [ArgumentError] if type passed in does not match the number of
|
63
|
-
# arguments
|
64
|
-
#
|
65
|
-
# @raise [ArgumentError] if bounds is zero size
|
66
|
-
#
|
67
|
-
# @raise [ArgumentError] if type is not a valid type
|
68
|
-
#
|
69
|
-
# @raise [ArgumentError] if radius is a negative value
|
70
|
-
#
|
71
|
-
# @version LayOut 2018
|
72
|
-
def initialize(*args)
|
73
|
-
end
|
74
|
-
|
75
|
-
# The {#radius} method returns the radius of the {Layout::Rectangle}, or +nil+
|
76
|
-
# if the {Layout::Rectangle} is not of type +Layout::Rectangle::TYPE_BULGED+ or
|
77
|
-
# +Layout::Rectangle::TYPE_ROUNDED+
|
78
|
-
#
|
79
|
-
# @example
|
80
|
-
# upper_left = Geom::Point2d.new(1, 1)
|
81
|
-
# lower_right = Geom::Point2d.new(2, 2)
|
82
|
-
# bounds = Geom::Bounds2d.new(upper_left, lower_right)
|
83
|
-
# radius = 0.8
|
84
|
-
# rect = Layout::Rectangle.new_rounded(bounds, radius)
|
85
|
-
# # Should equal 0.8
|
86
|
-
# r = rect.radius
|
87
|
-
#
|
88
|
-
# @return [Float, nil]
|
89
|
-
#
|
90
|
-
# @version LayOut 2018
|
91
|
-
def radius
|
92
|
-
end
|
93
|
-
|
94
|
-
# The {#radius=} method sets the radius of the {Layout::Rectangle}.
|
95
|
-
#
|
96
|
-
# @example
|
97
|
-
# upper_left = Geom::Point2d.new(1, 1)
|
98
|
-
# lower_right = Geom::Point2d.new(2, 2)
|
99
|
-
# bounds = Geom::Bounds2d.new(upper_left, lower_right)
|
100
|
-
# radius = 0.8
|
101
|
-
# rect = Layout::Rectangle.new_rounded(bounds, radius)
|
102
|
-
# rect.radius = 0.5
|
103
|
-
#
|
104
|
-
# @param [Float] radius
|
105
|
-
# The new radius value to set
|
106
|
-
#
|
107
|
-
# @raise [ArgumentError] if the {Layout::Rectangle} is not of type
|
108
|
-
# +Layout::Rectangle::TYPE_BULGED+ or +Layout::Rectangle::TYPE_ROUNDED+
|
109
|
-
#
|
110
|
-
# @raise [ArgumentError] if radius is negative
|
111
|
-
#
|
112
|
-
# @raise [LockedLayerError] if the {Layout::Rectangle} is on a locked
|
113
|
-
# {Layout::Layer}
|
114
|
-
#
|
115
|
-
# @raise [LockedEntityError] if the {Layout::Rectangle} is locked
|
116
|
-
#
|
117
|
-
# @version LayOut 2018
|
118
|
-
def radius=(radius)
|
119
|
-
end
|
120
|
-
|
121
|
-
# The {#type} method returns the type of the {Layout::Rectangle}.
|
122
|
-
#
|
123
|
-
# The type of a rectangle can be one of the following:
|
124
|
-
# [+Layout::Rectangle::TYPE_NORMAL+]
|
125
|
-
# [+Layout::Rectangle::TYPE_ROUNDED+]
|
126
|
-
# [+Layout::Rectangle::TYPE_LOZENGE+]
|
127
|
-
# [+Layout::Rectangle::TYPE_BULGED+]
|
128
|
-
#
|
129
|
-
# @example
|
130
|
-
# upper_left = Geom::Point2d.new(1, 1)
|
131
|
-
# lower_right = Geom::Point2d.new(2, 2)
|
132
|
-
# bounds = Geom::Bounds2d.new(upper_left, lower_right)
|
133
|
-
# rect = Layout::Rectangle.new(bounds)
|
134
|
-
# rect_type =rect.type
|
135
|
-
#
|
136
|
-
# @return [Integer] integer that corresponds with a rectangle type
|
137
|
-
#
|
138
|
-
# @version LayOut 2018
|
139
|
-
def type
|
140
|
-
end
|
141
|
-
|
142
|
-
# The {#type=} method sets the type of the {Layout::Rectangle}. If the type is
|
143
|
-
# set to +Layout::Rectangle::TYPE_ROUNDED+ or +Layout::Rectangle::TYPE_BULGED+,
|
144
|
-
# the [Layout::Rectangle]'s radius will be set to the default value of 0.25, if
|
145
|
-
# the value had not previously been set.
|
146
|
-
#
|
147
|
-
# The type of a {Layout::Rectangle} can be one of the following:
|
148
|
-
# [+Layout::Rectangle::TYPE_NORMAL+]
|
149
|
-
# [+Layout::Rectangle::TYPE_ROUNDED+]
|
150
|
-
# [+Layout::Rectangle::TYPE_LOZENGE+]
|
151
|
-
# [+Layout::Rectangle::TYPE_BULGED+]
|
152
|
-
#
|
153
|
-
# @example
|
154
|
-
# upper_left = Geom::Point2d.new(1, 1)
|
155
|
-
# lower_right = Geom::Point2d.new(2, 2)
|
156
|
-
# bounds = Geom::Bounds2d.new(upper_left, lower_right)
|
157
|
-
# rect = Layout::Rectangle.new(bounds)
|
158
|
-
# rect.type = Layout::Rectangle::TYPE_LOZENGE
|
159
|
-
#
|
160
|
-
# @param [Integer] type
|
161
|
-
# An integer that corresponds with a rectangle type
|
162
|
-
#
|
163
|
-
# @raise [LockedLayerError] if the {Layout::Rectangle} is on a locked
|
164
|
-
# {Layout::Layer}
|
165
|
-
#
|
166
|
-
# @raise [LockedEntityError] if the {Layout::Rectangle} is locked
|
167
|
-
#
|
168
|
-
# @raise [ArgumentError] if type is not a valid rectangle type
|
169
|
-
#
|
170
|
-
# @version LayOut 2018
|
171
|
-
def type=(type)
|
172
|
-
end
|
173
|
-
|
174
|
-
end
|
1
|
+
# Copyright:: Copyright 2023 Trimble Inc.
|
2
|
+
# License:: The MIT License (MIT)
|
3
|
+
|
4
|
+
# A simple rectangular shape entity.
|
5
|
+
#
|
6
|
+
# @version LayOut 2018
|
7
|
+
class Layout::Rectangle < Layout::Entity
|
8
|
+
|
9
|
+
# Constants
|
10
|
+
|
11
|
+
TYPE_BULGED = nil # Stub value.
|
12
|
+
TYPE_LOZENGE = nil # Stub value.
|
13
|
+
TYPE_NORMAL = nil # Stub value.
|
14
|
+
TYPE_ROUNDED = nil # Stub value.
|
15
|
+
|
16
|
+
# Instance Methods
|
17
|
+
|
18
|
+
# The {#initialize} method creates a new normal, lozenge, bulged or rounded
|
19
|
+
# {Layout::Rectangle}, depending on the type passed in.
|
20
|
+
#
|
21
|
+
# The rectangle type can be one of the following values:
|
22
|
+
# [+Layout::Rectangle::TYPE_NORMAL+]
|
23
|
+
# [+Layout::Rectangle::TYPE_ROUNDED+]
|
24
|
+
# [+Layout::Rectangle::TYPE_LOZENGE+]
|
25
|
+
# [+Layout::Rectangle::TYPE_BULGED+]
|
26
|
+
#
|
27
|
+
# @example
|
28
|
+
# upper_left = Geom::Point2d.new(1, 1)
|
29
|
+
# lower_right = Geom::Point2d.new(2, 2)
|
30
|
+
# bounds = Geom::Bounds2d.new(upper_left, lower_right)
|
31
|
+
# # Creates a normal rectangle
|
32
|
+
# rect = Layout::Rectangle.new(bounds)
|
33
|
+
# rounded_rect = Layout::Rectangle.new_rounded(
|
34
|
+
# Layout::Rectangle::TYPE_ROUNDED, bounds, radius)
|
35
|
+
# lozenge_rect = Layout::Rectangle.new_lozenge(
|
36
|
+
# Layout::Rectangle::TYPE_LOZENGE, bounds)
|
37
|
+
# bulged_rect = Layout::Rectangle.new_bulged(Layout::Rectangle::TYPE_BULGED,
|
38
|
+
# bounds, bulge_distance)
|
39
|
+
#
|
40
|
+
# @overload initialize(bounds)
|
41
|
+
#
|
42
|
+
# @param [Geom::Bounds2d] bounds
|
43
|
+
# @return [Layout::Rectangle]
|
44
|
+
#
|
45
|
+
# @overload initialize(bounds, type)
|
46
|
+
#
|
47
|
+
# @param [Geom::Bounds2d] bounds
|
48
|
+
# @param [Integer] type
|
49
|
+
# The type of {Layout::Rectangle} to create. Must be
|
50
|
+
# +Layout::Rectangle::TYPE_NORMAL+ or +Layout::Rectangle::TYPE_LOZENGE+
|
51
|
+
# @return [Layout::Rectangle]
|
52
|
+
#
|
53
|
+
# @overload initialize(bounds, type, radius)
|
54
|
+
#
|
55
|
+
# @param [Geom::Bounds2d] bounds
|
56
|
+
# @param [Integer] type
|
57
|
+
# The type of {Layout::Rectangle} to create. Must be
|
58
|
+
# +Layout::Rectangle::TYPE_BULGED+ or +Layout::Rectangle::TYPE_ROUNDED+
|
59
|
+
# @param [Float] radius
|
60
|
+
# @return [Layout::Rectangle]
|
61
|
+
#
|
62
|
+
# @raise [ArgumentError] if type passed in does not match the number of
|
63
|
+
# arguments
|
64
|
+
#
|
65
|
+
# @raise [ArgumentError] if bounds is zero size
|
66
|
+
#
|
67
|
+
# @raise [ArgumentError] if type is not a valid type
|
68
|
+
#
|
69
|
+
# @raise [ArgumentError] if radius is a negative value
|
70
|
+
#
|
71
|
+
# @version LayOut 2018
|
72
|
+
def initialize(*args)
|
73
|
+
end
|
74
|
+
|
75
|
+
# The {#radius} method returns the radius of the {Layout::Rectangle}, or +nil+
|
76
|
+
# if the {Layout::Rectangle} is not of type +Layout::Rectangle::TYPE_BULGED+ or
|
77
|
+
# +Layout::Rectangle::TYPE_ROUNDED+
|
78
|
+
#
|
79
|
+
# @example
|
80
|
+
# upper_left = Geom::Point2d.new(1, 1)
|
81
|
+
# lower_right = Geom::Point2d.new(2, 2)
|
82
|
+
# bounds = Geom::Bounds2d.new(upper_left, lower_right)
|
83
|
+
# radius = 0.8
|
84
|
+
# rect = Layout::Rectangle.new_rounded(bounds, radius)
|
85
|
+
# # Should equal 0.8
|
86
|
+
# r = rect.radius
|
87
|
+
#
|
88
|
+
# @return [Float, nil]
|
89
|
+
#
|
90
|
+
# @version LayOut 2018
|
91
|
+
def radius
|
92
|
+
end
|
93
|
+
|
94
|
+
# The {#radius=} method sets the radius of the {Layout::Rectangle}.
|
95
|
+
#
|
96
|
+
# @example
|
97
|
+
# upper_left = Geom::Point2d.new(1, 1)
|
98
|
+
# lower_right = Geom::Point2d.new(2, 2)
|
99
|
+
# bounds = Geom::Bounds2d.new(upper_left, lower_right)
|
100
|
+
# radius = 0.8
|
101
|
+
# rect = Layout::Rectangle.new_rounded(bounds, radius)
|
102
|
+
# rect.radius = 0.5
|
103
|
+
#
|
104
|
+
# @param [Float] radius
|
105
|
+
# The new radius value to set
|
106
|
+
#
|
107
|
+
# @raise [ArgumentError] if the {Layout::Rectangle} is not of type
|
108
|
+
# +Layout::Rectangle::TYPE_BULGED+ or +Layout::Rectangle::TYPE_ROUNDED+
|
109
|
+
#
|
110
|
+
# @raise [ArgumentError] if radius is negative
|
111
|
+
#
|
112
|
+
# @raise [LockedLayerError] if the {Layout::Rectangle} is on a locked
|
113
|
+
# {Layout::Layer}
|
114
|
+
#
|
115
|
+
# @raise [LockedEntityError] if the {Layout::Rectangle} is locked
|
116
|
+
#
|
117
|
+
# @version LayOut 2018
|
118
|
+
def radius=(radius)
|
119
|
+
end
|
120
|
+
|
121
|
+
# The {#type} method returns the type of the {Layout::Rectangle}.
|
122
|
+
#
|
123
|
+
# The type of a rectangle can be one of the following:
|
124
|
+
# [+Layout::Rectangle::TYPE_NORMAL+]
|
125
|
+
# [+Layout::Rectangle::TYPE_ROUNDED+]
|
126
|
+
# [+Layout::Rectangle::TYPE_LOZENGE+]
|
127
|
+
# [+Layout::Rectangle::TYPE_BULGED+]
|
128
|
+
#
|
129
|
+
# @example
|
130
|
+
# upper_left = Geom::Point2d.new(1, 1)
|
131
|
+
# lower_right = Geom::Point2d.new(2, 2)
|
132
|
+
# bounds = Geom::Bounds2d.new(upper_left, lower_right)
|
133
|
+
# rect = Layout::Rectangle.new(bounds)
|
134
|
+
# rect_type =rect.type
|
135
|
+
#
|
136
|
+
# @return [Integer] integer that corresponds with a rectangle type
|
137
|
+
#
|
138
|
+
# @version LayOut 2018
|
139
|
+
def type
|
140
|
+
end
|
141
|
+
|
142
|
+
# The {#type=} method sets the type of the {Layout::Rectangle}. If the type is
|
143
|
+
# set to +Layout::Rectangle::TYPE_ROUNDED+ or +Layout::Rectangle::TYPE_BULGED+,
|
144
|
+
# the [Layout::Rectangle]'s radius will be set to the default value of 0.25, if
|
145
|
+
# the value had not previously been set.
|
146
|
+
#
|
147
|
+
# The type of a {Layout::Rectangle} can be one of the following:
|
148
|
+
# [+Layout::Rectangle::TYPE_NORMAL+]
|
149
|
+
# [+Layout::Rectangle::TYPE_ROUNDED+]
|
150
|
+
# [+Layout::Rectangle::TYPE_LOZENGE+]
|
151
|
+
# [+Layout::Rectangle::TYPE_BULGED+]
|
152
|
+
#
|
153
|
+
# @example
|
154
|
+
# upper_left = Geom::Point2d.new(1, 1)
|
155
|
+
# lower_right = Geom::Point2d.new(2, 2)
|
156
|
+
# bounds = Geom::Bounds2d.new(upper_left, lower_right)
|
157
|
+
# rect = Layout::Rectangle.new(bounds)
|
158
|
+
# rect.type = Layout::Rectangle::TYPE_LOZENGE
|
159
|
+
#
|
160
|
+
# @param [Integer] type
|
161
|
+
# An integer that corresponds with a rectangle type
|
162
|
+
#
|
163
|
+
# @raise [LockedLayerError] if the {Layout::Rectangle} is on a locked
|
164
|
+
# {Layout::Layer}
|
165
|
+
#
|
166
|
+
# @raise [LockedEntityError] if the {Layout::Rectangle} is locked
|
167
|
+
#
|
168
|
+
# @raise [ArgumentError] if type is not a valid rectangle type
|
169
|
+
#
|
170
|
+
# @version LayOut 2018
|
171
|
+
def type=(type)
|
172
|
+
end
|
173
|
+
|
174
|
+
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
# Copyright:: Copyright 2023 Trimble Inc.
|
2
|
+
# License:: The MIT License (MIT)
|
3
|
+
|
4
|
+
# An entity that represents the data inserted from an external file.
|
5
|
+
#
|
6
|
+
# @example
|
7
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
8
|
+
# reference_entity = doc.pages.first.entities.first
|
9
|
+
# clip_mask = reference_entity.clip_mask
|
10
|
+
# if clip_mask.is_a?(Layout::Rectangle)
|
11
|
+
# point1 = Geom::Point2d.new(1, 1)
|
12
|
+
# point2 = Geom::Point2d.new(2, 2)
|
13
|
+
# bounds = [point1, point2]
|
14
|
+
# reference_entity.clip_mask = Layout::Ellipse.new(bounds)
|
15
|
+
# end
|
16
|
+
#
|
17
|
+
# @version LayOut 2023.0
|
18
|
+
class Layout::ReferenceEntity < Layout::Entity
|
19
|
+
|
20
|
+
# Instance Methods
|
21
|
+
|
22
|
+
# The {#clip_mask} method returns the clip mask of the {Layout::ReferenceEntity}, or
|
23
|
+
# +nil+ if it does not have a clip mask.
|
24
|
+
#
|
25
|
+
# @example
|
26
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
27
|
+
# reference_entity = doc.pages.first.entities.first
|
28
|
+
# clip_mask = image.clip_mask
|
29
|
+
#
|
30
|
+
# @return [Layout::Entity] The clip mask can be a {Layout::Path},
|
31
|
+
# {Layout::Rectangle}, or {Layout::Ellipse}.
|
32
|
+
#
|
33
|
+
# @version LayOut 2023.0
|
34
|
+
def clip_mask
|
35
|
+
end
|
36
|
+
|
37
|
+
# The {#clip_mask=} method sets the clip mask of the {Layout::ReferenceEntity}. clip_mask
|
38
|
+
# can be a {Layout::Rectangle}, {Layout::Ellipse}, or {Layout::Path}, or +nil+,
|
39
|
+
# and it must not currently exist in a {Layout::Document}, or {Layout::Group}.
|
40
|
+
#
|
41
|
+
# @example
|
42
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
43
|
+
# reference_entity = doc.pages.first.entities.first
|
44
|
+
# point1 = Geom::Point2d.new(1, 1)
|
45
|
+
# point2 = Geom::Point2d.new(2, 2)
|
46
|
+
# bounds = [point1, point2]
|
47
|
+
# clip_mask = Layout::Rectangle.new(bounds)
|
48
|
+
# reference_entity.clip_mask = clip_mask
|
49
|
+
#
|
50
|
+
# @param [Layout::Entity, nil] clip_mask
|
51
|
+
# The clip mask can be a {Layout::Path},
|
52
|
+
# {Layout::Rectangle}, {Layout::Ellipse}, or +nil+.
|
53
|
+
#
|
54
|
+
# @raise [ArgumentError] if clip mask is already in a {Layout::Document} or
|
55
|
+
# {Layout::Group}
|
56
|
+
#
|
57
|
+
# @raise [ArgumentError] if clip mask is not a {Layout::Path},
|
58
|
+
# {Layout::Rectangle}, or {Layout::Ellipse}
|
59
|
+
#
|
60
|
+
# @raise [LockedLayerError] if the {Layout::ReferenceEntity} is on a locked {Layout::Layer}
|
61
|
+
#
|
62
|
+
# @raise [LockedEntityError] if the {Layout::ReferenceEntity} is locked
|
63
|
+
#
|
64
|
+
# @version LayOut 2023.0
|
65
|
+
def clip_mask=(clip_mask)
|
66
|
+
end
|
67
|
+
|
68
|
+
# The {#entities} method returns the {Layout::Group} that represents the
|
69
|
+
# {Layout::ReferenceEntity} in its exploded form.
|
70
|
+
#
|
71
|
+
# @example
|
72
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
73
|
+
# reference_entity = doc.pages.first.entities.first
|
74
|
+
# entities = reference_entity.entities
|
75
|
+
#
|
76
|
+
# @return [Layout::Group]
|
77
|
+
#
|
78
|
+
# @version LayOut 2023.0
|
79
|
+
def entities
|
80
|
+
end
|
81
|
+
|
82
|
+
end
|