sketchup-api-stubs 0.7.4 → 0.7.8
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 +148 -145
- data/lib/sketchup-api-stubs/stubs/{array.rb → Array.rb} +741 -741
- data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -318
- 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 +523 -492
- data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +478 -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 -348
- 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 +698 -411
- data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -174
- data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
- data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +516 -514
- data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
- data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -143
- 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 -371
- 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 -220
- 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 -204
- 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/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 -140
- 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 +152 -152
- data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +286 -281
- data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
- data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -328
- data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -577
- data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
- data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +122 -122
- data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -281
- data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +619 -562
- data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -593
- 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 -194
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +426 -329
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -72
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -102
- data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -312
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -38
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
- data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +396 -390
- data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +502 -508
- data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
- data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1205 -1119
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +272 -0
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -125
- data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -544
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -59
- data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +126 -125
- data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +937 -750
- data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +104 -104
- data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +750 -697
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +292 -285
- 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 -409
- data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -226
- data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -190
- data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +407 -393
- data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -82
- data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -303
- data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +326 -285
- data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -0
- data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -244
- data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -136
- 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 +112 -112
- data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
- data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -416
- data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +318 -311
- data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -141
- data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -95
- data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1651 -1638
- data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -356
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +131 -132
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +284 -284
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
- data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -770
- data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +363 -353
- data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -76
- data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +477 -456
- data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
- data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +364 -364
- data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -44
- data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
- data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +459 -454
- 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 +260 -257
- data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -57
- data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -0
- data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
- data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -211
- data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
- data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -225
- data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
- data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +837 -829
- data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
- data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -154
- data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -61
- data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
- data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1317 -1301
- data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -43
- data/lib/sketchup-api-stubs/stubs/{sketchup.rb → Sketchup.rb} +1360 -1310
- 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 -310
- data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +496 -356
- data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +269 -229
- data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +240 -240
- data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +635 -633
- data/lib/sketchup-api-stubs/stubs/{ui.rb → UI.rb} +683 -667
- data/lib/sketchup-api-stubs/stubs/_top_level.rb +311 -311
- data/lib/sketchup-api-stubs.rb +1 -1
- metadata +15 -12
@@ -1,237 +1,237 @@
|
|
1
|
-
# Copyright:: Copyright
|
2
|
-
# License:: The MIT License (MIT)
|
3
|
-
|
4
|
-
# The TextureWriter class is used primarily for writing the textures used in a
|
5
|
-
# SketchUp model out to files as part of an export for use in another
|
6
|
-
# application. These methods are usually invoked in this order:
|
7
|
-
#
|
8
|
-
# - 1. load - load one or more textures from a model into the TextureWriter.
|
9
|
-
# - 2. write_all or write - write the texture(s) to file.
|
10
|
-
#
|
11
|
-
# @example
|
12
|
-
# # This code snippet sets up a texture writer and some variables that are
|
13
|
-
# # used in the following texture writer examples.
|
14
|
-
# # Assumptions:
|
15
|
-
# # 1) The active model contains at least one entity at the root level of the
|
16
|
-
# # following types: component instance, group, or image.
|
17
|
-
# # 2) The active model contains at least one face at the root level.
|
18
|
-
# model = Sketchup.active_model
|
19
|
-
# entities = model.entities
|
20
|
-
# faces = entities.grep(Sketchup::Face)
|
21
|
-
# texturable_entities = entities.select{ |ent|
|
22
|
-
# (ent.is_a?(Sketchup::ComponentInstance) ||
|
23
|
-
# ent.is_a?(Sketchup::Group) || ent.is_a?(Sketchup::Image)) }
|
24
|
-
# tw = Sketchup.create_texture_writer
|
25
|
-
#
|
26
|
-
# @version SketchUp 6.0
|
27
|
-
class Sketchup::TextureWriter
|
28
|
-
|
29
|
-
# Instance Methods
|
30
|
-
|
31
|
-
# The {#length} method is used to determine the number of textures loaded into
|
32
|
-
# the texture writer.
|
33
|
-
#
|
34
|
-
# The {#count} method is an alias for {#length}.
|
35
|
-
#
|
36
|
-
# @example
|
37
|
-
# length = tw.length
|
38
|
-
# tw.load(texturable_entities[0])
|
39
|
-
# if length < tw.length
|
40
|
-
# puts("A new entity was successfully loaded into the writer.")
|
41
|
-
# end
|
42
|
-
#
|
43
|
-
# @return [Integer] length - the number of textures loaded in the texture
|
44
|
-
# writer
|
45
|
-
#
|
46
|
-
# @version SketchUp 6.0
|
47
|
-
def count
|
48
|
-
end
|
49
|
-
|
50
|
-
# The filename method is used to retrieve the original filename for a
|
51
|
-
# particular texture.
|
52
|
-
#
|
53
|
-
# @example
|
54
|
-
# index = tw.load(texturable_entities[0])
|
55
|
-
# filename = tw.filename(index)
|
56
|
-
# puts("filename = #{filename}")
|
57
|
-
#
|
58
|
-
# @param [Integer] handle
|
59
|
-
# The index or handle of the texture in the texture
|
60
|
-
# writer.
|
61
|
-
#
|
62
|
-
# @return [String] filename - the filename of the texture on the file system.
|
63
|
-
# Textures can be generated without filenames, so if the
|
64
|
-
# texture doesn't have a name write_all will save the
|
65
|
-
# texture to an image file named "i.png". Where i is the
|
66
|
-
# first integer greater than zero which was not already used
|
67
|
-
# for a png file name.
|
68
|
-
#
|
69
|
-
# @version SketchUp 6.0
|
70
|
-
def filename(handle)
|
71
|
-
end
|
72
|
-
|
73
|
-
# The handle method is used to retrieve a handle or index for a specific
|
74
|
-
# texture in the texture writer.
|
75
|
-
#
|
76
|
-
# @example
|
77
|
-
# tw.load(texturable_entities[0])
|
78
|
-
# handle = tw.handle(texturable_entities[0])
|
79
|
-
#
|
80
|
-
# @example
|
81
|
-
# load_front_face = true
|
82
|
-
# tw.load(faces[0], load_front_face)
|
83
|
-
# handle = tw.handle(faces[0], load_front_face)
|
84
|
-
#
|
85
|
-
# @overload handle(entity)
|
86
|
-
#
|
87
|
-
# @param [Sketchup::Entity] entity A image, component instance, group, or
|
88
|
-
# layer.
|
89
|
-
# @return [Integer] the index for the entity in the texture writer.
|
90
|
-
#
|
91
|
-
# @overload handle(face, side)
|
92
|
-
#
|
93
|
-
# @param [Sketchup::Face] face
|
94
|
-
# @param [Boolean] side Specifies one of the sides of the face
|
95
|
-
# (true if front, false if back.)
|
96
|
-
# @return [Integer] the index for the entity in the texture writer.
|
97
|
-
#
|
98
|
-
# @version SketchUp 6.0
|
99
|
-
def handle(*args)
|
100
|
-
end
|
101
|
-
|
102
|
-
# The {#length} method is used to determine the number of textures loaded into
|
103
|
-
# the texture writer.
|
104
|
-
#
|
105
|
-
# The {#count} method is an alias for {#length}.
|
106
|
-
#
|
107
|
-
# @example
|
108
|
-
# length = tw.length
|
109
|
-
# tw.load(texturable_entities[0])
|
110
|
-
# if length < tw.length
|
111
|
-
# puts("A new entity was successfully loaded into the writer.")
|
112
|
-
# end
|
113
|
-
#
|
114
|
-
# @return [Integer] length - the number of textures loaded in the texture
|
115
|
-
# writer
|
116
|
-
#
|
117
|
-
# @version SketchUp 6.0
|
118
|
-
def length
|
119
|
-
end
|
120
|
-
|
121
|
-
# The load method is used to load one or more textures into the texture writer
|
122
|
-
# for writing out to a file.
|
123
|
-
#
|
124
|
-
# @example
|
125
|
-
# index = tw.load(texturable_entities[0])
|
126
|
-
#
|
127
|
-
# @example
|
128
|
-
# index = tw.load(faces[0], true)
|
129
|
-
#
|
130
|
-
# @note If you are passing a face in as the entity argument when loading a
|
131
|
-
# texture you will have to specify the second boolean argument, side.
|
132
|
-
# The argument side specifies which side of the face the texture will be
|
133
|
-
# loaded from.
|
134
|
-
#
|
135
|
-
# @overload load(entity)
|
136
|
-
#
|
137
|
-
# @param [Sketchup::Entity] entity Image, component instance, group, or layer
|
138
|
-
# to load.
|
139
|
-
# @return [Integer] handle - the index or handle of the entity that was
|
140
|
-
# loaded
|
141
|
-
#
|
142
|
-
# @overload load(face, side)
|
143
|
-
#
|
144
|
-
# @param [Sketchup::Face] face A face to load.
|
145
|
-
# @param [Boolean] side A boolean used to indicate the side of the
|
146
|
-
# face being loaded (true if front, false if
|
147
|
-
# back).
|
148
|
-
# @return [Integer] handle - the index or handle of the entity that was
|
149
|
-
# loaded
|
150
|
-
#
|
151
|
-
# @version SketchUp 6.0
|
152
|
-
def load(*args)
|
153
|
-
end
|
154
|
-
|
155
|
-
# The write method is used to write an individual textures, within the texture
|
156
|
-
# writer, to a file. An entity's texture must have been loaded into the texture
|
157
|
-
# writer before this method can be used to write it's texture.
|
158
|
-
#
|
159
|
-
# This method will return one of the following status messages. (These are
|
160
|
-
# constants that are defined by the API.)
|
161
|
-
#
|
162
|
-
# - 0 = FILE_WRITE_OK
|
163
|
-
# - 1 = FILE_WRITE_FAILED_INVALID_TIFF
|
164
|
-
# - 2 = FILE_WRITE_FAILED_UNKNOWN
|
165
|
-
#
|
166
|
-
# @example
|
167
|
-
# tw.load(texturable_entities[0])
|
168
|
-
# if tw.write(texturable_entities[0], "C:\\textures\\A.jpg") == FILE_WRITE_OK
|
169
|
-
# puts("JPEG file successfully written.")
|
170
|
-
# end
|
171
|
-
#
|
172
|
-
# @example
|
173
|
-
# tw.load(faces[0], true)
|
174
|
-
# if tw.write(faces[0], true, "C:\\textures\\Face.png") == FILE_WRITE_OK
|
175
|
-
# puts("PNG file successfully written.")
|
176
|
-
# end
|
177
|
-
# if tw.write(faces[0], true, "C:\\textures\\Face.bmp") == FILE_WRITE_OK
|
178
|
-
# puts("BMP file successfully written.")
|
179
|
-
# end
|
180
|
-
# if tw.write(faces[0], true, "C:\\textures\\Face.tif") == FILE_WRITE_OK
|
181
|
-
# puts("TIFF file successfully written.")
|
182
|
-
# end
|
183
|
-
#
|
184
|
-
# @note If you are passing a face in as the entity argument when writing a
|
185
|
-
# texture you will have to specify the boolean argument, side. The argument
|
186
|
-
# side controls the side of the face from which the texture will be sampled
|
187
|
-
# before writing it.
|
188
|
-
#
|
189
|
-
# @overload write(entity, filename)
|
190
|
-
#
|
191
|
-
# @param [Sketchup::Entity] entity An image, component instance, group, or
|
192
|
-
# layer to write.
|
193
|
-
# @param [String] filename The name of the file to contain the
|
194
|
-
# texture.
|
195
|
-
# @return [Integer] status - one of three status messages (see comments.)
|
196
|
-
#
|
197
|
-
# @overload write(entity, side, filename)
|
198
|
-
#
|
199
|
-
# @param [Sketchup::Entity] entity A face to write.
|
200
|
-
# @param [Boolean] side A boolean used to indicate the side of the
|
201
|
-
# face being written (true if front, false
|
202
|
-
# if back).
|
203
|
-
# @param [String] filename The name of the file to contain the
|
204
|
-
# texture.
|
205
|
-
# @return [Integer] status - one of three status messages (see comments.)
|
206
|
-
#
|
207
|
-
# @version SketchUp 6.0
|
208
|
-
def write(*args)
|
209
|
-
end
|
210
|
-
|
211
|
-
# The write_all method is used to write all of the textures within the texture
|
212
|
-
# writer to files. It will return one of three status numbers:
|
213
|
-
#
|
214
|
-
# - 0 = FILE_WRITE_OK
|
215
|
-
# - 1 = FILE_WRITE_FAILED_INVALID_TIFF
|
216
|
-
# - 2 = FILE_WRITE_FAILED_UNKNOWN
|
217
|
-
#
|
218
|
-
# @example
|
219
|
-
# tw.load(texturable_entities[0]
|
220
|
-
# tw.load(faces[0], false)
|
221
|
-
# if tw.write_all("C:\\textures\\", true) == FILE_WRITE_OK
|
222
|
-
# puts("Texture files were successfully written.")
|
223
|
-
# end
|
224
|
-
#
|
225
|
-
# @param [String] dirname
|
226
|
-
# The directory to write to.
|
227
|
-
#
|
228
|
-
# @param [Boolean] filename_format
|
229
|
-
# true to use 8.3 DOS name format.
|
230
|
-
#
|
231
|
-
# @return [Integer] status - one of three status messages (see comments.)
|
232
|
-
#
|
233
|
-
# @version SketchUp 6.0
|
234
|
-
def write_all(dirname, filename_format)
|
235
|
-
end
|
236
|
-
|
237
|
-
end
|
1
|
+
# Copyright:: Copyright 2022 Trimble Inc.
|
2
|
+
# License:: The MIT License (MIT)
|
3
|
+
|
4
|
+
# The TextureWriter class is used primarily for writing the textures used in a
|
5
|
+
# SketchUp model out to files as part of an export for use in another
|
6
|
+
# application. These methods are usually invoked in this order:
|
7
|
+
#
|
8
|
+
# - 1. load - load one or more textures from a model into the TextureWriter.
|
9
|
+
# - 2. write_all or write - write the texture(s) to file.
|
10
|
+
#
|
11
|
+
# @example
|
12
|
+
# # This code snippet sets up a texture writer and some variables that are
|
13
|
+
# # used in the following texture writer examples.
|
14
|
+
# # Assumptions:
|
15
|
+
# # 1) The active model contains at least one entity at the root level of the
|
16
|
+
# # following types: component instance, group, or image.
|
17
|
+
# # 2) The active model contains at least one face at the root level.
|
18
|
+
# model = Sketchup.active_model
|
19
|
+
# entities = model.entities
|
20
|
+
# faces = entities.grep(Sketchup::Face)
|
21
|
+
# texturable_entities = entities.select{ |ent|
|
22
|
+
# (ent.is_a?(Sketchup::ComponentInstance) ||
|
23
|
+
# ent.is_a?(Sketchup::Group) || ent.is_a?(Sketchup::Image)) }
|
24
|
+
# tw = Sketchup.create_texture_writer
|
25
|
+
#
|
26
|
+
# @version SketchUp 6.0
|
27
|
+
class Sketchup::TextureWriter
|
28
|
+
|
29
|
+
# Instance Methods
|
30
|
+
|
31
|
+
# The {#length} method is used to determine the number of textures loaded into
|
32
|
+
# the texture writer.
|
33
|
+
#
|
34
|
+
# The {#count} method is an alias for {#length}.
|
35
|
+
#
|
36
|
+
# @example
|
37
|
+
# length = tw.length
|
38
|
+
# tw.load(texturable_entities[0])
|
39
|
+
# if length < tw.length
|
40
|
+
# puts("A new entity was successfully loaded into the writer.")
|
41
|
+
# end
|
42
|
+
#
|
43
|
+
# @return [Integer] length - the number of textures loaded in the texture
|
44
|
+
# writer
|
45
|
+
#
|
46
|
+
# @version SketchUp 6.0
|
47
|
+
def count
|
48
|
+
end
|
49
|
+
|
50
|
+
# The filename method is used to retrieve the original filename for a
|
51
|
+
# particular texture.
|
52
|
+
#
|
53
|
+
# @example
|
54
|
+
# index = tw.load(texturable_entities[0])
|
55
|
+
# filename = tw.filename(index)
|
56
|
+
# puts("filename = #{filename}")
|
57
|
+
#
|
58
|
+
# @param [Integer] handle
|
59
|
+
# The index or handle of the texture in the texture
|
60
|
+
# writer.
|
61
|
+
#
|
62
|
+
# @return [String] filename - the filename of the texture on the file system.
|
63
|
+
# Textures can be generated without filenames, so if the
|
64
|
+
# texture doesn't have a name write_all will save the
|
65
|
+
# texture to an image file named "i.png". Where i is the
|
66
|
+
# first integer greater than zero which was not already used
|
67
|
+
# for a png file name.
|
68
|
+
#
|
69
|
+
# @version SketchUp 6.0
|
70
|
+
def filename(handle)
|
71
|
+
end
|
72
|
+
|
73
|
+
# The handle method is used to retrieve a handle or index for a specific
|
74
|
+
# texture in the texture writer.
|
75
|
+
#
|
76
|
+
# @example
|
77
|
+
# tw.load(texturable_entities[0])
|
78
|
+
# handle = tw.handle(texturable_entities[0])
|
79
|
+
#
|
80
|
+
# @example
|
81
|
+
# load_front_face = true
|
82
|
+
# tw.load(faces[0], load_front_face)
|
83
|
+
# handle = tw.handle(faces[0], load_front_face)
|
84
|
+
#
|
85
|
+
# @overload handle(entity)
|
86
|
+
#
|
87
|
+
# @param [Sketchup::Entity] entity A image, component instance, group, or
|
88
|
+
# layer.
|
89
|
+
# @return [Integer] the index for the entity in the texture writer.
|
90
|
+
#
|
91
|
+
# @overload handle(face, side)
|
92
|
+
#
|
93
|
+
# @param [Sketchup::Face] face
|
94
|
+
# @param [Boolean] side Specifies one of the sides of the face
|
95
|
+
# (true if front, false if back.)
|
96
|
+
# @return [Integer] the index for the entity in the texture writer.
|
97
|
+
#
|
98
|
+
# @version SketchUp 6.0
|
99
|
+
def handle(*args)
|
100
|
+
end
|
101
|
+
|
102
|
+
# The {#length} method is used to determine the number of textures loaded into
|
103
|
+
# the texture writer.
|
104
|
+
#
|
105
|
+
# The {#count} method is an alias for {#length}.
|
106
|
+
#
|
107
|
+
# @example
|
108
|
+
# length = tw.length
|
109
|
+
# tw.load(texturable_entities[0])
|
110
|
+
# if length < tw.length
|
111
|
+
# puts("A new entity was successfully loaded into the writer.")
|
112
|
+
# end
|
113
|
+
#
|
114
|
+
# @return [Integer] length - the number of textures loaded in the texture
|
115
|
+
# writer
|
116
|
+
#
|
117
|
+
# @version SketchUp 6.0
|
118
|
+
def length
|
119
|
+
end
|
120
|
+
|
121
|
+
# The load method is used to load one or more textures into the texture writer
|
122
|
+
# for writing out to a file.
|
123
|
+
#
|
124
|
+
# @example
|
125
|
+
# index = tw.load(texturable_entities[0])
|
126
|
+
#
|
127
|
+
# @example
|
128
|
+
# index = tw.load(faces[0], true)
|
129
|
+
#
|
130
|
+
# @note If you are passing a face in as the entity argument when loading a
|
131
|
+
# texture you will have to specify the second boolean argument, side.
|
132
|
+
# The argument side specifies which side of the face the texture will be
|
133
|
+
# loaded from.
|
134
|
+
#
|
135
|
+
# @overload load(entity)
|
136
|
+
#
|
137
|
+
# @param [Sketchup::Entity] entity Image, component instance, group, or layer
|
138
|
+
# to load.
|
139
|
+
# @return [Integer] handle - the index or handle of the entity that was
|
140
|
+
# loaded
|
141
|
+
#
|
142
|
+
# @overload load(face, side)
|
143
|
+
#
|
144
|
+
# @param [Sketchup::Face] face A face to load.
|
145
|
+
# @param [Boolean] side A boolean used to indicate the side of the
|
146
|
+
# face being loaded (true if front, false if
|
147
|
+
# back).
|
148
|
+
# @return [Integer] handle - the index or handle of the entity that was
|
149
|
+
# loaded
|
150
|
+
#
|
151
|
+
# @version SketchUp 6.0
|
152
|
+
def load(*args)
|
153
|
+
end
|
154
|
+
|
155
|
+
# The write method is used to write an individual textures, within the texture
|
156
|
+
# writer, to a file. An entity's texture must have been loaded into the texture
|
157
|
+
# writer before this method can be used to write it's texture.
|
158
|
+
#
|
159
|
+
# This method will return one of the following status messages. (These are
|
160
|
+
# constants that are defined by the API.)
|
161
|
+
#
|
162
|
+
# - 0 = FILE_WRITE_OK
|
163
|
+
# - 1 = FILE_WRITE_FAILED_INVALID_TIFF
|
164
|
+
# - 2 = FILE_WRITE_FAILED_UNKNOWN
|
165
|
+
#
|
166
|
+
# @example
|
167
|
+
# tw.load(texturable_entities[0])
|
168
|
+
# if tw.write(texturable_entities[0], "C:\\textures\\A.jpg") == FILE_WRITE_OK
|
169
|
+
# puts("JPEG file successfully written.")
|
170
|
+
# end
|
171
|
+
#
|
172
|
+
# @example
|
173
|
+
# tw.load(faces[0], true)
|
174
|
+
# if tw.write(faces[0], true, "C:\\textures\\Face.png") == FILE_WRITE_OK
|
175
|
+
# puts("PNG file successfully written.")
|
176
|
+
# end
|
177
|
+
# if tw.write(faces[0], true, "C:\\textures\\Face.bmp") == FILE_WRITE_OK
|
178
|
+
# puts("BMP file successfully written.")
|
179
|
+
# end
|
180
|
+
# if tw.write(faces[0], true, "C:\\textures\\Face.tif") == FILE_WRITE_OK
|
181
|
+
# puts("TIFF file successfully written.")
|
182
|
+
# end
|
183
|
+
#
|
184
|
+
# @note If you are passing a face in as the entity argument when writing a
|
185
|
+
# texture you will have to specify the boolean argument, side. The argument
|
186
|
+
# side controls the side of the face from which the texture will be sampled
|
187
|
+
# before writing it.
|
188
|
+
#
|
189
|
+
# @overload write(entity, filename)
|
190
|
+
#
|
191
|
+
# @param [Sketchup::Entity] entity An image, component instance, group, or
|
192
|
+
# layer to write.
|
193
|
+
# @param [String] filename The name of the file to contain the
|
194
|
+
# texture.
|
195
|
+
# @return [Integer] status - one of three status messages (see comments.)
|
196
|
+
#
|
197
|
+
# @overload write(entity, side, filename)
|
198
|
+
#
|
199
|
+
# @param [Sketchup::Entity] entity A face to write.
|
200
|
+
# @param [Boolean] side A boolean used to indicate the side of the
|
201
|
+
# face being written (true if front, false
|
202
|
+
# if back).
|
203
|
+
# @param [String] filename The name of the file to contain the
|
204
|
+
# texture.
|
205
|
+
# @return [Integer] status - one of three status messages (see comments.)
|
206
|
+
#
|
207
|
+
# @version SketchUp 6.0
|
208
|
+
def write(*args)
|
209
|
+
end
|
210
|
+
|
211
|
+
# The write_all method is used to write all of the textures within the texture
|
212
|
+
# writer to files. It will return one of three status numbers:
|
213
|
+
#
|
214
|
+
# - 0 = FILE_WRITE_OK
|
215
|
+
# - 1 = FILE_WRITE_FAILED_INVALID_TIFF
|
216
|
+
# - 2 = FILE_WRITE_FAILED_UNKNOWN
|
217
|
+
#
|
218
|
+
# @example
|
219
|
+
# tw.load(texturable_entities[0]
|
220
|
+
# tw.load(faces[0], false)
|
221
|
+
# if tw.write_all("C:\\textures\\", true) == FILE_WRITE_OK
|
222
|
+
# puts("Texture files were successfully written.")
|
223
|
+
# end
|
224
|
+
#
|
225
|
+
# @param [String] dirname
|
226
|
+
# The directory to write to.
|
227
|
+
#
|
228
|
+
# @param [Boolean] filename_format
|
229
|
+
# true to use 8.3 DOS name format.
|
230
|
+
#
|
231
|
+
# @return [Integer] status - one of three status messages (see comments.)
|
232
|
+
#
|
233
|
+
# @version SketchUp 6.0
|
234
|
+
def write_all(dirname, filename_format)
|
235
|
+
end
|
236
|
+
|
237
|
+
end
|