sketchup-api-stubs 0.6.1 → 0.7.4

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.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +2 -0
  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 -401
  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 -523
  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 -569
  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 -455
  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 -359
  26. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +349 -349
  27. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -123
  28. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  29. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -86
  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 -563
  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 -547
  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 -554
  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 -1097
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +125 -125
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +544 -537
  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 -262
  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 -1483
  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 -282
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +770 -650
  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 -356
  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 -995
  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 -303
  140. data/lib/sketchup-api-stubs/stubs/array.rb +741 -741
  141. data/lib/sketchup-api-stubs/stubs/geom.rb +348 -233
  142. data/lib/sketchup-api-stubs/stubs/languagehandler.rb +92 -92
  143. data/lib/sketchup-api-stubs/stubs/length.rb +278 -262
  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 -660
  149. metadata +2 -16
@@ -1,82 +1,82 @@
1
- # Copyright:: Copyright 2019 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 2019 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