sketchup-api-stubs 0.7.3 → 0.7.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. checksums.yaml +5 -5
  2. data/.yardopts +9 -9
  3. data/lib/sketchup-api-stubs.rb +1 -1
  4. data/lib/sketchup-api-stubs/sketchup.rb +145 -145
  5. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +318 -318
  6. data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +172 -172
  7. data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +126 -126
  8. data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
  9. data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +400 -400
  10. data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
  11. data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +492 -492
  12. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +478 -478
  13. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +263 -263
  14. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +141 -141
  15. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +522 -522
  16. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +691 -691
  17. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  18. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +573 -573
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +411 -411
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +174 -186
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +514 -514
  23. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  24. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +143 -155
  25. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -353
  26. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +349 -349
  27. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
  28. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  29. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
  30. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +371 -371
  31. data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
  32. data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
  33. data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +220 -232
  34. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -567
  35. data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
  36. data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
  37. data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +183 -183
  38. data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +387 -387
  39. data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +204 -216
  40. data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +344 -344
  41. data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
  42. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +694 -694
  43. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
  44. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  45. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  46. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  47. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  48. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +140 -140
  49. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +157 -157
  50. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
  51. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +152 -152
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +281 -281
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +328 -328
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +577 -577
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +122 -122
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +281 -281
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +562 -562
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -593
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +194 -194
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +329 -329
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +72 -72
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +102 -102
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +312 -312
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +38 -38
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +390 -390
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +508 -508
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1119 -1119
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +125 -125
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +544 -544
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +59 -59
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +125 -125
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +750 -750
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +104 -104
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +697 -697
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +285 -285
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +409 -409
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +226 -226
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +190 -190
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +393 -393
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +82 -82
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +303 -303
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +285 -280
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +244 -231
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +136 -136
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +112 -123
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +416 -416
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +311 -311
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +141 -141
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +95 -95
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1638 -1601
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +356 -356
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +132 -132
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +284 -284
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +770 -770
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +353 -353
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +76 -76
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +456 -456
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +364 -364
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +44 -44
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +454 -454
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +257 -257
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +57 -57
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +211 -211
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +225 -225
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +829 -829
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +154 -154
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +61 -61
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1301 -1301
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +43 -43
  134. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +310 -310
  135. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +356 -356
  136. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +229 -229
  137. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +240 -240
  138. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +633 -633
  139. data/lib/sketchup-api-stubs/stubs/_top_level.rb +311 -311
  140. data/lib/sketchup-api-stubs/stubs/array.rb +741 -741
  141. data/lib/sketchup-api-stubs/stubs/geom.rb +348 -348
  142. data/lib/sketchup-api-stubs/stubs/languagehandler.rb +92 -92
  143. data/lib/sketchup-api-stubs/stubs/length.rb +278 -278
  144. data/lib/sketchup-api-stubs/stubs/numeric.rb +249 -249
  145. data/lib/sketchup-api-stubs/stubs/sketchup.rb +1310 -1310
  146. data/lib/sketchup-api-stubs/stubs/sketchupextension.rb +353 -353
  147. data/lib/sketchup-api-stubs/stubs/string.rb +24 -24
  148. data/lib/sketchup-api-stubs/stubs/ui.rb +667 -667
  149. metadata +3 -4
@@ -1,82 +1,82 @@
1
- # Copyright:: Copyright 2020 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # This observer interface is implemented to react to component instance
5
- # events. To implement this observer, create a Ruby class of this type,
6
- # override the desired methods, and add an instance of the observer to the
7
- # objects of interests.
8
- #
9
- # Note that you may also attach {Sketchup::InstanceObserver}s to
10
- # {Sketchup::Group}s.
11
- #
12
- # @example
13
- # # This is an example of an observer that watches a specific instance
14
- # # for open edit actions and shows a messagebox.
15
- # class MyInstanceObserver < Sketchup::InstanceObserver
16
- # def onOpen(instance)
17
- # puts "onOpen: #{instance}"
18
- # end
19
- #
20
- # def onClose(instance)
21
- # puts "onClose: #{instance}"
22
- # end
23
- # end
24
- #
25
- # # Attach the observer. (This example assumes that your first definition
26
- # # in the model contains an instance to attach the observer to. This
27
- # # example should work with a model where Sang or Bryce are present in
28
- # # the template.)
29
- # model = Sketchup.active_model
30
- # model.definitions[0].instances[0].add_observer(MyInstanceObserver.new)
31
- #
32
- # @version SketchUp 6.0
33
- class Sketchup::InstanceObserver < Sketchup::EntityObserver
34
-
35
- # Instance Methods
36
-
37
- # The {#onClose} method is called when an instance is "closed," meaning an end
38
- # user was editing a component's geometry and then exited back into the
39
- # parent's editing space.
40
- #
41
- # @example
42
- # def onClose(instance)
43
- # puts "onClose: #{instance}"
44
- # end
45
- #
46
- # @param [Sketchup::ComponentInstance] instance
47
- # The instance that was just
48
- # closed
49
- #
50
- # @return [nil]
51
- #
52
- # @version SketchUp 6.0
53
- def onClose(instance)
54
- end
55
-
56
- # The {#onOpen} method is called when an instance is "opened," meaning an end
57
- # user has double clicked on it to edit its geometry. This is particularly
58
- # useful if your plugin is dynamically drawing geometry or performing
59
- # transformations in global space, since when in "edit component" mode all
60
- # transformations and positions are returned in relation to the current
61
- # component's origin.
62
- #
63
- # This method will tell you when a user has entered edit mode, and you can
64
- # then use {Sketchup::Model#active_path} and {Sketchup::Model#edit_transform}
65
- # methods to determine any corrections you need to make to your
66
- # transformations.
67
- #
68
- # @example
69
- # def onOpen(instance)
70
- # puts "onOpen: #{instance}"
71
- # end
72
- #
73
- # @param [Sketchup::ComponentInstance] instance
74
- # The instance that was opened
75
- #
76
- # @return [nil]
77
- #
78
- # @version SketchUp 6.0
79
- def onOpen(instance)
80
- end
81
-
82
- end
1
+ # Copyright:: Copyright 2020 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # This observer interface is implemented to react to component instance
5
+ # events. To implement this observer, create a Ruby class of this type,
6
+ # override the desired methods, and add an instance of the observer to the
7
+ # objects of interests.
8
+ #
9
+ # Note that you may also attach {Sketchup::InstanceObserver}s to
10
+ # {Sketchup::Group}s.
11
+ #
12
+ # @example
13
+ # # This is an example of an observer that watches a specific instance
14
+ # # for open edit actions and shows a messagebox.
15
+ # class MyInstanceObserver < Sketchup::InstanceObserver
16
+ # def onOpen(instance)
17
+ # puts "onOpen: #{instance}"
18
+ # end
19
+ #
20
+ # def onClose(instance)
21
+ # puts "onClose: #{instance}"
22
+ # end
23
+ # end
24
+ #
25
+ # # Attach the observer. (This example assumes that your first definition
26
+ # # in the model contains an instance to attach the observer to. This
27
+ # # example should work with a model where Sang or Bryce are present in
28
+ # # the template.)
29
+ # model = Sketchup.active_model
30
+ # model.definitions[0].instances[0].add_observer(MyInstanceObserver.new)
31
+ #
32
+ # @version SketchUp 6.0
33
+ class Sketchup::InstanceObserver < Sketchup::EntityObserver
34
+
35
+ # Instance Methods
36
+
37
+ # The {#onClose} method is called when an instance is "closed," meaning an end
38
+ # user was editing a component's geometry and then exited back into the
39
+ # parent's editing space.
40
+ #
41
+ # @example
42
+ # def onClose(instance)
43
+ # puts "onClose: #{instance}"
44
+ # end
45
+ #
46
+ # @param [Sketchup::ComponentInstance] instance
47
+ # The instance that was just
48
+ # closed
49
+ #
50
+ # @return [nil]
51
+ #
52
+ # @version SketchUp 6.0
53
+ def onClose(instance)
54
+ end
55
+
56
+ # The {#onOpen} method is called when an instance is "opened," meaning an end
57
+ # user has double clicked on it to edit its geometry. This is particularly
58
+ # useful if your plugin is dynamically drawing geometry or performing
59
+ # transformations in global space, since when in "edit component" mode all
60
+ # transformations and positions are returned in relation to the current
61
+ # component's origin.
62
+ #
63
+ # This method will tell you when a user has entered edit mode, and you can
64
+ # then use {Sketchup::Model#active_path} and {Sketchup::Model#edit_transform}
65
+ # methods to determine any corrections you need to make to your
66
+ # transformations.
67
+ #
68
+ # @example
69
+ # def onOpen(instance)
70
+ # puts "onOpen: #{instance}"
71
+ # end
72
+ #
73
+ # @param [Sketchup::ComponentInstance] instance
74
+ # The instance that was opened
75
+ #
76
+ # @return [nil]
77
+ #
78
+ # @version SketchUp 6.0
79
+ def onOpen(instance)
80
+ end
81
+
82
+ end
@@ -1,303 +1,303 @@
1
- # Copyright:: Copyright 2020 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # The {Sketchup::InstancePath} class represent the instance path to a given
5
- # entity within the model hierarchy.
6
- #
7
- # @version SketchUp 2017
8
- class Sketchup::InstancePath
9
-
10
- # Includes
11
-
12
- include Enumerable
13
-
14
- # Instance Methods
15
-
16
- #
17
- # @example
18
- # model = Sketchup.active_model
19
- # group = model.entities.add_group
20
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
21
- # path = Sketchup::InstancePath.new([group, edge])
22
- # if path.size > 1
23
- # # do something
24
- # end
25
- #
26
- # @return [Boolean] `true` if the instances paths represent the same set of
27
- # entities.
28
- #
29
- # @version SketchUp 2017
30
- def ==(other)
31
- end
32
-
33
- # The elements of an instance path can be accessed like an array.
34
- #
35
- # @example
36
- # model = Sketchup.active_model
37
- # group = model.entities.add_group
38
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
39
- # path = Sketchup::InstancePath.new([group, edge])
40
- # path[0] == group # returns true
41
- # path[1] == edge # returns true
42
- #
43
- # @param [Integer] index
44
- #
45
- # @raise [IndexError] if the given index is out of bounds
46
- #
47
- # @raise [TypeError] if the index is not of integer type
48
- #
49
- # @raise [TypeError] if the instance path refer to deleted entities.
50
- #
51
- # @return [Sketchup::Entity]
52
- #
53
- # @version SketchUp 2017
54
- def [](index)
55
- end
56
-
57
- # The yielded entities will start with the root and end with the leaf.
58
- #
59
- # @example
60
- # model = Sketchup.active_model
61
- # group = model.entities.add_group
62
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
63
- # path = Sketchup::InstancePath.new([group, edge])
64
- # path.each { |entity|
65
- # # do something
66
- # }
67
- #
68
- # @raise [TypeError] if the instance path refer to deleted entities.
69
- #
70
- # @return [nil]
71
- #
72
- # @version SketchUp 2017
73
- #
74
- # @yield [Sketchup::Entity] entity
75
- def each
76
- end
77
-
78
- #
79
- # @example
80
- # model = Sketchup.active_model
81
- # group = model.entities.add_group
82
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
83
- # path = Sketchup::InstancePath.new([group, edge])
84
- # if path.empty?
85
- # # do something...
86
- # end
87
- #
88
- # @raise [TypeError] if the instance path refer to deleted entities.
89
- #
90
- # @return [Boolean]
91
- #
92
- # @version SketchUp 2017
93
- def empty?
94
- end
95
-
96
- # Returns `true` if the instance path contain the given object.
97
- #
98
- # @example
99
- # model = Sketchup.active_model
100
- # group = model.entities.add_group
101
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
102
- # path = Sketchup::InstancePath.new([group, edge])
103
- # if path.include?(edge)
104
- # # do something...
105
- # end
106
- #
107
- # @param [Object] object
108
- #
109
- # @raise [TypeError] if the instance path refer to deleted entities.
110
- #
111
- # @return [Boolean]
112
- #
113
- # @version SketchUp 2017
114
- def include?(object)
115
- end
116
-
117
- #
118
- # @example
119
- # model = Sketchup.active_model
120
- # group = model.entities.add_group
121
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
122
- # path = Sketchup::InstancePath.new([group, edge])
123
- #
124
- # @param [Array<Sketchup::Entity>] path
125
- # The leaf can be any entity, but the
126
- # rest must be a group or component instance.
127
- #
128
- # @raise [ArgumentError] if the instance path isn't composed of instances and
129
- # an optional leaf entity.
130
- #
131
- # @return [Sketchup::InstancePath]
132
- #
133
- # @version SketchUp 2017
134
- def initialize(path)
135
- end
136
-
137
- # The leaf of an instance path is the last element which can be any entity
138
- # that can be represented in the model. This is normally a
139
- # {Sketchup::Drawingelement}, but could be a {Sketchup::Vertex}.
140
- #
141
- # An instance can also be a leaf.
142
- #
143
- # @example
144
- # model = Sketchup.active_model
145
- # group = model.entities.add_group
146
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
147
- # path = Sketchup::InstancePath.new([group, edge])
148
- # path.leaf == edge # returns true
149
- #
150
- # @raise [TypeError] if the instance path refer to deleted entities.
151
- #
152
- # @return [Sketchup::Entity]
153
- #
154
- # @version SketchUp 2017
155
- def leaf
156
- end
157
-
158
- # {#length} is an alias of {#size}.
159
- #
160
- # @example
161
- # model = Sketchup.active_model
162
- # group = model.entities.add_group
163
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
164
- # path = Sketchup::InstancePath.new([group, edge])
165
- # if path.length > 1
166
- # # do something
167
- # end
168
- #
169
- # @raise [TypeError] if the instance path refer to deleted entities.
170
- #
171
- # @return [Integer]
172
- #
173
- # @see #size
174
- #
175
- # @version SketchUp 2017
176
- def length
177
- end
178
-
179
- # The serialized version of an instance path is the persistent ids of its
180
- # entities concatenated with a period.
181
- #
182
- # @example
183
- # model = Sketchup.active_model
184
- # group = model.entities.add_group
185
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
186
- # path = Sketchup::InstancePath.new([group, edge])
187
- # pid_path = path.persistent_id_path # something like "342.345"
188
- #
189
- # @raise [TypeError] if the instance path refer to deleted entities.
190
- #
191
- # @return [String]
192
- #
193
- # @see Sketchup::Model#instance_path_from_pid_path
194
- #
195
- # @version SketchUp 2017
196
- def persistent_id_path
197
- end
198
-
199
- # The root of an instance path is the element located closest to the model
200
- # root. This will be a group or component instance. If you have a non-instance
201
- # as a leaf with no other parent component this will return `nil`.
202
- #
203
- # @example
204
- # model = Sketchup.active_model
205
- # group = model.entities.add_group
206
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
207
- # path = Sketchup::InstancePath.new([group, edge])
208
- # path.root == group # returns true
209
- #
210
- # @raise [TypeError] if the instance path refer to deleted entities.
211
- #
212
- # @return [Sketchup::Group, Sketchup::ComponentInstance, nil]
213
- #
214
- # @version SketchUp 2017
215
- def root
216
- end
217
-
218
- #
219
- # @example
220
- # model = Sketchup.active_model
221
- # group = model.entities.add_group
222
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
223
- # path = Sketchup::InstancePath.new([group, edge])
224
- # if path.size > 1
225
- # # do something
226
- # end
227
- #
228
- # @raise [TypeError] if the instance path refer to deleted entities.
229
- #
230
- # @return [Integer]
231
- #
232
- # @see #length
233
- #
234
- # @version SketchUp 2017
235
- def size
236
- end
237
-
238
- #
239
- # @example
240
- # model = Sketchup.active_model
241
- # group = model.entities.add_group
242
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
243
- # path = Sketchup::InstancePath.new([group, edge])
244
- # pid_string = path.to_a.join('.')
245
- #
246
- # @raise [TypeError] if the instance path refer to deleted entities.
247
- #
248
- # @return [Array] an array representing the instance path.
249
- #
250
- # @version SketchUp 2017
251
- def to_a
252
- end
253
-
254
- #
255
- # @example
256
- # model = Sketchup.active_model
257
- # group = model.entities.add_group
258
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
259
- # path = Sketchup::InstancePath.new([group, edge])
260
- # tr = path.transformation
261
- #
262
- # @overload transformation
263
- #
264
- # @return [Geom::Transformation] the combined transformation up to the
265
- # the leaf entity.
266
- #
267
- # @overload transformation(index)
268
- #
269
- # @param [Integer] index
270
- # @return [Geom::Transformation] the combined transformation up to the
271
- # the given index.
272
- #
273
- # @raise [IndexError] if the given index is out of bounds
274
- #
275
- # @raise [TypeError] if the index is not of integer type
276
- #
277
- # @raise [TypeError] if the instance path refer to deleted entities.
278
- #
279
- # @version SketchUp 2017
280
- def transformation(*args)
281
- end
282
-
283
- # An instance path is valid if it has at least one element and consist of
284
- # groups and instances with exception of the leaf which can be any entity.
285
- #
286
- # This method doesn't check if the path can actually be looked up in the model.
287
- #
288
- # @example
289
- # model = Sketchup.active_model
290
- # group = model.entities.add_group
291
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
292
- # path = Sketchup::InstancePath.new([group, edge])
293
- # if path.valid?
294
- # # do something...
295
- # end
296
- #
297
- # @return [Boolean]
298
- #
299
- # @version SketchUp 2017
300
- def valid?
301
- end
302
-
303
- end
1
+ # Copyright:: Copyright 2020 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # The {Sketchup::InstancePath} class represent the instance path to a given
5
+ # entity within the model hierarchy.
6
+ #
7
+ # @version SketchUp 2017
8
+ class Sketchup::InstancePath
9
+
10
+ # Includes
11
+
12
+ include Enumerable
13
+
14
+ # Instance Methods
15
+
16
+ #
17
+ # @example
18
+ # model = Sketchup.active_model
19
+ # group = model.entities.add_group
20
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
21
+ # path = Sketchup::InstancePath.new([group, edge])
22
+ # if path.size > 1
23
+ # # do something
24
+ # end
25
+ #
26
+ # @return [Boolean] `true` if the instances paths represent the same set of
27
+ # entities.
28
+ #
29
+ # @version SketchUp 2017
30
+ def ==(other)
31
+ end
32
+
33
+ # The elements of an instance path can be accessed like an array.
34
+ #
35
+ # @example
36
+ # model = Sketchup.active_model
37
+ # group = model.entities.add_group
38
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
39
+ # path = Sketchup::InstancePath.new([group, edge])
40
+ # path[0] == group # returns true
41
+ # path[1] == edge # returns true
42
+ #
43
+ # @param [Integer] index
44
+ #
45
+ # @raise [IndexError] if the given index is out of bounds
46
+ #
47
+ # @raise [TypeError] if the index is not of integer type
48
+ #
49
+ # @raise [TypeError] if the instance path refer to deleted entities.
50
+ #
51
+ # @return [Sketchup::Entity]
52
+ #
53
+ # @version SketchUp 2017
54
+ def [](index)
55
+ end
56
+
57
+ # The yielded entities will start with the root and end with the leaf.
58
+ #
59
+ # @example
60
+ # model = Sketchup.active_model
61
+ # group = model.entities.add_group
62
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
63
+ # path = Sketchup::InstancePath.new([group, edge])
64
+ # path.each { |entity|
65
+ # # do something
66
+ # }
67
+ #
68
+ # @raise [TypeError] if the instance path refer to deleted entities.
69
+ #
70
+ # @return [nil]
71
+ #
72
+ # @version SketchUp 2017
73
+ #
74
+ # @yield [Sketchup::Entity] entity
75
+ def each
76
+ end
77
+
78
+ #
79
+ # @example
80
+ # model = Sketchup.active_model
81
+ # group = model.entities.add_group
82
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
83
+ # path = Sketchup::InstancePath.new([group, edge])
84
+ # if path.empty?
85
+ # # do something...
86
+ # end
87
+ #
88
+ # @raise [TypeError] if the instance path refer to deleted entities.
89
+ #
90
+ # @return [Boolean]
91
+ #
92
+ # @version SketchUp 2017
93
+ def empty?
94
+ end
95
+
96
+ # Returns `true` if the instance path contain the given object.
97
+ #
98
+ # @example
99
+ # model = Sketchup.active_model
100
+ # group = model.entities.add_group
101
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
102
+ # path = Sketchup::InstancePath.new([group, edge])
103
+ # if path.include?(edge)
104
+ # # do something...
105
+ # end
106
+ #
107
+ # @param [Object] object
108
+ #
109
+ # @raise [TypeError] if the instance path refer to deleted entities.
110
+ #
111
+ # @return [Boolean]
112
+ #
113
+ # @version SketchUp 2017
114
+ def include?(object)
115
+ end
116
+
117
+ #
118
+ # @example
119
+ # model = Sketchup.active_model
120
+ # group = model.entities.add_group
121
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
122
+ # path = Sketchup::InstancePath.new([group, edge])
123
+ #
124
+ # @param [Array<Sketchup::Entity>] path
125
+ # The leaf can be any entity, but the
126
+ # rest must be a group or component instance.
127
+ #
128
+ # @raise [ArgumentError] if the instance path isn't composed of instances and
129
+ # an optional leaf entity.
130
+ #
131
+ # @return [Sketchup::InstancePath]
132
+ #
133
+ # @version SketchUp 2017
134
+ def initialize(path)
135
+ end
136
+
137
+ # The leaf of an instance path is the last element which can be any entity
138
+ # that can be represented in the model. This is normally a
139
+ # {Sketchup::Drawingelement}, but could be a {Sketchup::Vertex}.
140
+ #
141
+ # An instance can also be a leaf.
142
+ #
143
+ # @example
144
+ # model = Sketchup.active_model
145
+ # group = model.entities.add_group
146
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
147
+ # path = Sketchup::InstancePath.new([group, edge])
148
+ # path.leaf == edge # returns true
149
+ #
150
+ # @raise [TypeError] if the instance path refer to deleted entities.
151
+ #
152
+ # @return [Sketchup::Entity]
153
+ #
154
+ # @version SketchUp 2017
155
+ def leaf
156
+ end
157
+
158
+ # {#length} is an alias of {#size}.
159
+ #
160
+ # @example
161
+ # model = Sketchup.active_model
162
+ # group = model.entities.add_group
163
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
164
+ # path = Sketchup::InstancePath.new([group, edge])
165
+ # if path.length > 1
166
+ # # do something
167
+ # end
168
+ #
169
+ # @raise [TypeError] if the instance path refer to deleted entities.
170
+ #
171
+ # @return [Integer]
172
+ #
173
+ # @see #size
174
+ #
175
+ # @version SketchUp 2017
176
+ def length
177
+ end
178
+
179
+ # The serialized version of an instance path is the persistent ids of its
180
+ # entities concatenated with a period.
181
+ #
182
+ # @example
183
+ # model = Sketchup.active_model
184
+ # group = model.entities.add_group
185
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
186
+ # path = Sketchup::InstancePath.new([group, edge])
187
+ # pid_path = path.persistent_id_path # something like "342.345"
188
+ #
189
+ # @raise [TypeError] if the instance path refer to deleted entities.
190
+ #
191
+ # @return [String]
192
+ #
193
+ # @see Sketchup::Model#instance_path_from_pid_path
194
+ #
195
+ # @version SketchUp 2017
196
+ def persistent_id_path
197
+ end
198
+
199
+ # The root of an instance path is the element located closest to the model
200
+ # root. This will be a group or component instance. If you have a non-instance
201
+ # as a leaf with no other parent component this will return `nil`.
202
+ #
203
+ # @example
204
+ # model = Sketchup.active_model
205
+ # group = model.entities.add_group
206
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
207
+ # path = Sketchup::InstancePath.new([group, edge])
208
+ # path.root == group # returns true
209
+ #
210
+ # @raise [TypeError] if the instance path refer to deleted entities.
211
+ #
212
+ # @return [Sketchup::Group, Sketchup::ComponentInstance, nil]
213
+ #
214
+ # @version SketchUp 2017
215
+ def root
216
+ end
217
+
218
+ #
219
+ # @example
220
+ # model = Sketchup.active_model
221
+ # group = model.entities.add_group
222
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
223
+ # path = Sketchup::InstancePath.new([group, edge])
224
+ # if path.size > 1
225
+ # # do something
226
+ # end
227
+ #
228
+ # @raise [TypeError] if the instance path refer to deleted entities.
229
+ #
230
+ # @return [Integer]
231
+ #
232
+ # @see #length
233
+ #
234
+ # @version SketchUp 2017
235
+ def size
236
+ end
237
+
238
+ #
239
+ # @example
240
+ # model = Sketchup.active_model
241
+ # group = model.entities.add_group
242
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
243
+ # path = Sketchup::InstancePath.new([group, edge])
244
+ # pid_string = path.to_a.join('.')
245
+ #
246
+ # @raise [TypeError] if the instance path refer to deleted entities.
247
+ #
248
+ # @return [Array] an array representing the instance path.
249
+ #
250
+ # @version SketchUp 2017
251
+ def to_a
252
+ end
253
+
254
+ #
255
+ # @example
256
+ # model = Sketchup.active_model
257
+ # group = model.entities.add_group
258
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
259
+ # path = Sketchup::InstancePath.new([group, edge])
260
+ # tr = path.transformation
261
+ #
262
+ # @overload transformation
263
+ #
264
+ # @return [Geom::Transformation] the combined transformation up to the
265
+ # the leaf entity.
266
+ #
267
+ # @overload transformation(index)
268
+ #
269
+ # @param [Integer] index
270
+ # @return [Geom::Transformation] the combined transformation up to the
271
+ # the given index.
272
+ #
273
+ # @raise [IndexError] if the given index is out of bounds
274
+ #
275
+ # @raise [TypeError] if the index is not of integer type
276
+ #
277
+ # @raise [TypeError] if the instance path refer to deleted entities.
278
+ #
279
+ # @version SketchUp 2017
280
+ def transformation(*args)
281
+ end
282
+
283
+ # An instance path is valid if it has at least one element and consist of
284
+ # groups and instances with exception of the leaf which can be any entity.
285
+ #
286
+ # This method doesn't check if the path can actually be looked up in the model.
287
+ #
288
+ # @example
289
+ # model = Sketchup.active_model
290
+ # group = model.entities.add_group
291
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
292
+ # path = Sketchup::InstancePath.new([group, edge])
293
+ # if path.valid?
294
+ # # do something...
295
+ # end
296
+ #
297
+ # @return [Boolean]
298
+ #
299
+ # @version SketchUp 2017
300
+ def valid?
301
+ end
302
+
303
+ end