aspose_cad_cloud 20.11 → 24.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/lib/aspose_cad_cloud/api/cad_api.rb +2630 -390
  3. data/lib/aspose_cad_cloud/configuration.rb +8 -1
  4. data/lib/aspose_cad_cloud/models/bitmap_compression.rb +27 -0
  5. data/lib/aspose_cad_cloud/models/bmp_options_dto.rb +2 -2
  6. data/lib/aspose_cad_cloud/models/cad_draw_type_mode.rb +21 -0
  7. data/lib/aspose_cad_cloud/models/cad_response.rb +48 -8
  8. data/lib/aspose_cad_cloud/models/{cff2_properties.rb → cf2_properties.rb} +3 -3
  9. data/lib/aspose_cad_cloud/models/cgm_options_dto.rb +281 -0
  10. data/lib/aspose_cad_cloud/models/color_modes.rb +27 -0
  11. data/lib/aspose_cad_cloud/models/compression_method.rb +23 -0
  12. data/lib/aspose_cad_cloud/models/dicom_options_dto.rb +281 -0
  13. data/lib/aspose_cad_cloud/models/dwf_options_dto.rb +281 -0
  14. data/lib/aspose_cad_cloud/models/dxf_options_dto.rb +281 -0
  15. data/lib/aspose_cad_cloud/models/{error.rb → error_model.rb} +2 -2
  16. data/lib/aspose_cad_cloud/models/fbx_options_dto.rb +281 -0
  17. data/lib/aspose_cad_cloud/models/fbx_properties.rb +197 -0
  18. data/lib/aspose_cad_cloud/models/files_upload_result.rb +1 -1
  19. data/lib/aspose_cad_cloud/models/glb_options_dto.rb +281 -0
  20. data/lib/aspose_cad_cloud/models/gltf_options_dto.rb +281 -0
  21. data/lib/aspose_cad_cloud/models/interpolation_mode.rb +28 -0
  22. data/lib/aspose_cad_cloud/models/jpeg2000_codec.rb +22 -0
  23. data/lib/aspose_cad_cloud/models/jpeg_compression_color_mode.rb +24 -0
  24. data/lib/aspose_cad_cloud/models/jpeg_compression_mode.rb +23 -0
  25. data/lib/aspose_cad_cloud/models/line_cap.rb +30 -0
  26. data/lib/aspose_cad_cloud/models/obj_options_dto.rb +281 -0
  27. data/lib/aspose_cad_cloud/models/obj_properties.rb +197 -0
  28. data/lib/aspose_cad_cloud/models/pdf_compliance.rb +22 -0
  29. data/lib/aspose_cad_cloud/models/pdf_digital_signature_details_core_dto.rb +294 -0
  30. data/lib/aspose_cad_cloud/models/pdf_digital_signature_hash_algorithm_core.rb +24 -0
  31. data/lib/aspose_cad_cloud/models/{pdf_document_options.rb → pdf_document_options_dto.rb} +17 -7
  32. data/lib/aspose_cad_cloud/models/pdf_options_dto.rb +1 -1
  33. data/lib/aspose_cad_cloud/models/plt_properties.rb +197 -0
  34. data/lib/aspose_cad_cloud/models/png_color_type.rb +24 -0
  35. data/lib/aspose_cad_cloud/models/png_filter_type.rb +25 -0
  36. data/lib/aspose_cad_cloud/models/requests/ConvertRequest.rb +53 -0
  37. data/lib/aspose_cad_cloud/models/requests/EditMetadataRequest.rb +45 -0
  38. data/lib/aspose_cad_cloud/models/requests/ExtractMetadataRequest.rb +49 -0
  39. data/lib/aspose_cad_cloud/models/requests/ExtractTextRequest.rb +45 -0
  40. data/lib/aspose_cad_cloud/models/requests/PaperToCadRequest.rb +49 -0
  41. data/lib/aspose_cad_cloud/models/requests/PostDrawingCgmRequest.rb +61 -0
  42. data/lib/aspose_cad_cloud/models/requests/PostDrawingDicomRequest.rb +61 -0
  43. data/lib/aspose_cad_cloud/models/requests/PostDrawingDwfRequest.rb +61 -0
  44. data/lib/aspose_cad_cloud/models/requests/PostDrawingDxfRequest.rb +61 -0
  45. data/lib/aspose_cad_cloud/models/requests/PostDrawingFbxRequest.rb +61 -0
  46. data/lib/aspose_cad_cloud/models/requests/PostDrawingGlbRequest.rb +61 -0
  47. data/lib/aspose_cad_cloud/models/requests/PostDrawingGltfRequest.rb +61 -0
  48. data/lib/aspose_cad_cloud/models/requests/PostDrawingObjRequest.rb +61 -0
  49. data/lib/aspose_cad_cloud/models/requests/PostDrawingStpRequest.rb +61 -0
  50. data/lib/aspose_cad_cloud/models/requests/PostDrawingThreeDsRequest.rb +61 -0
  51. data/lib/aspose_cad_cloud/models/requests/PostDrawingU3dRequest.rb +61 -0
  52. data/lib/aspose_cad_cloud/models/requests/PostDrawingWebpRequest.rb +61 -0
  53. data/lib/aspose_cad_cloud/models/requests/PutDrawingCgmRequest.rb +57 -0
  54. data/lib/aspose_cad_cloud/models/requests/PutDrawingDicomRequest.rb +57 -0
  55. data/lib/aspose_cad_cloud/models/requests/PutDrawingDwfRequest.rb +57 -0
  56. data/lib/aspose_cad_cloud/models/requests/PutDrawingDxfRequest.rb +57 -0
  57. data/lib/aspose_cad_cloud/models/requests/PutDrawingFbxRequest.rb +57 -0
  58. data/lib/aspose_cad_cloud/models/requests/PutDrawingGlbRequest.rb +57 -0
  59. data/lib/aspose_cad_cloud/models/requests/PutDrawingGltfRequest.rb +57 -0
  60. data/lib/aspose_cad_cloud/models/requests/PutDrawingObjRequest.rb +57 -0
  61. data/lib/aspose_cad_cloud/models/requests/PutDrawingStpRequest.rb +57 -0
  62. data/lib/aspose_cad_cloud/models/requests/PutDrawingThreeDsRequest.rb +57 -0
  63. data/lib/aspose_cad_cloud/models/requests/PutDrawingU3dRequest.rb +57 -0
  64. data/lib/aspose_cad_cloud/models/requests/PutDrawingWebpRequest.rb +57 -0
  65. data/lib/aspose_cad_cloud/models/requests/PutEditMetadataRequest.rb +49 -0
  66. data/lib/aspose_cad_cloud/models/requests/ViewerRequest.rb +49 -0
  67. data/lib/aspose_cad_cloud/models/requests/WatermarkRequest.rb +57 -0
  68. data/lib/aspose_cad_cloud/models/rotate_flip_type.rb +35 -0
  69. data/lib/aspose_cad_cloud/models/smoothing_mode.rb +25 -0
  70. data/lib/aspose_cad_cloud/models/stp_options_dto.rb +281 -0
  71. data/lib/aspose_cad_cloud/models/stp_properties.rb +197 -0
  72. data/lib/aspose_cad_cloud/models/svg_color_mode.rb +24 -0
  73. data/lib/aspose_cad_cloud/models/text_rendering_hint.rb +25 -0
  74. data/lib/aspose_cad_cloud/models/three_ds_options_dto.rb +281 -0
  75. data/lib/aspose_cad_cloud/models/tiff_byte_order.rb +21 -0
  76. data/lib/aspose_cad_cloud/models/tiff_compressions.rb +43 -0
  77. data/lib/aspose_cad_cloud/models/tiff_expected_format.rb +35 -0
  78. data/lib/aspose_cad_cloud/models/tiff_photometrics.rb +31 -0
  79. data/lib/aspose_cad_cloud/models/u3d_options_dto.rb +281 -0
  80. data/lib/aspose_cad_cloud/models/unit_type.rb +41 -0
  81. data/lib/aspose_cad_cloud/models/webp_options_dto.rb +281 -0
  82. data/lib/aspose_cad_cloud/version.rb +1 -1
  83. data/lib/aspose_cad_cloud.rb +42 -3
  84. metadata +97 -12
@@ -0,0 +1,281 @@
1
+
2
+ require 'date'
3
+
4
+ module AsposeCadCloud
5
+ #
6
+ # --------------------------------------------------------------------------------------------------------------------
7
+ # <copyright company="Aspose" file="DxfOptionsDTO.rb">
8
+ # Copyright (c) 2017 Aspose.CAD Cloud
9
+ # </copyright>
10
+ # <summary>
11
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
12
+ # of this software and associated documentation files (the "Software"), to deal
13
+ # in the Software without restriction, including without limitation the rights
14
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15
+ # copies of the Software, and to permit persons to whom the Software is
16
+ # furnished to do so, subject to the following conditions:
17
+ #
18
+ # The above copyright notice and this permission notice shall be included in all
19
+ # copies or substantial portions of the Software.
20
+ #
21
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27
+ # SOFTWARE.
28
+ # </summary>
29
+ # --------------------------------------------------------------------------------------------------------------------
30
+ #
31
+
32
+ # Export options for DXF format
33
+ class DxfOptionsDTO
34
+ # Resulting rotation operation
35
+ attr_accessor :rotation
36
+
37
+ # Layers to export
38
+ attr_accessor :layers
39
+
40
+ # DPI resolution settings
41
+ attr_accessor :resolution_settings
42
+
43
+ # Raster options
44
+ attr_accessor :vector_rasterization_options
45
+
46
+ class EnumAttributeValidator
47
+ attr_reader :datatype
48
+ attr_reader :allowable_values
49
+
50
+ def initialize(datatype, allowable_values)
51
+ @allowable_values = allowable_values.map do |value|
52
+ case datatype.to_s
53
+ when /Integer/i
54
+ value.to_i
55
+ when /Float/i
56
+ value.to_f
57
+ else
58
+ value
59
+ end
60
+ end
61
+ end
62
+
63
+ def valid?(value)
64
+ !value || allowable_values.include?(value)
65
+ end
66
+ end
67
+
68
+ # Attribute mapping from ruby-style variable name to JSON key.
69
+ def self.attribute_map
70
+ {
71
+ :'rotation' => :'Rotation',
72
+ :'layers' => :'Layers',
73
+ :'resolution_settings' => :'ResolutionSettings',
74
+ :'vector_rasterization_options' => :'VectorRasterizationOptions'
75
+ }
76
+ end
77
+
78
+ # Attribute type mapping.
79
+ def self.swagger_types
80
+ {
81
+ :'rotation' => :'String',
82
+ :'layers' => :'Array<String>',
83
+ :'resolution_settings' => :'ResolutionSetting',
84
+ :'vector_rasterization_options' => :'CadRasterizationOptionsDTO'
85
+ }
86
+ end
87
+
88
+ # Initializes the object
89
+ # @param [Hash] attributes Model attributes in the form of hash
90
+ def initialize(attributes = {})
91
+ return unless attributes.is_a?(Hash)
92
+
93
+ # convert string to symbol for hash key
94
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
95
+
96
+ if attributes.key?(:'Rotation')
97
+ self.rotation = attributes[:'Rotation']
98
+ end
99
+
100
+ if attributes.key?(:'Layers')
101
+ if (value = attributes[:'Layers']).is_a?(Array)
102
+ self.layers = value
103
+ end
104
+ end
105
+
106
+ if attributes.key?(:'ResolutionSettings')
107
+ self.resolution_settings = attributes[:'ResolutionSettings']
108
+ end
109
+
110
+ if attributes.key?(:'VectorRasterizationOptions')
111
+ self.vector_rasterization_options = attributes[:'VectorRasterizationOptions']
112
+ end
113
+
114
+ end
115
+
116
+ # Show invalid properties with the reasons. Usually used together with valid?
117
+ # @return Array for valid properies with the reasons
118
+ def list_invalid_properties
119
+ invalid_properties = []
120
+ if @rotation.nil?
121
+ invalid_properties.push("invalid value for 'rotation', rotation cannot be nil.")
122
+ end
123
+
124
+ return invalid_properties
125
+ end
126
+
127
+ # Check to see if the all the properties in the model are valid
128
+ # @return true if the model is valid
129
+ def valid?
130
+ return false if @rotation.nil?
131
+ rotation_validator = EnumAttributeValidator.new('String', ["RotateNoneFlipNone", "Rotate90FlipNone", "Rotate180FlipNone", "Rotate270FlipNone", "RotateNoneFlipX", "Rotate90FlipX", "Rotate180FlipX", "Rotate270FlipX", "RotateNoneFlipY", "Rotate90FlipY", "Rotate180FlipY", "Rotate270FlipY", "RotateNoneFlipXY", "Rotate90FlipXY", "Rotate180FlipXY", "Rotate270FlipXY"])
132
+ return false unless rotation_validator.valid?(@rotation)
133
+ return true
134
+ end
135
+
136
+ # Custom attribute writer method checking allowed values (enum).
137
+ # @param [Object] rotation Object to be assigned
138
+ def rotation=(rotation)
139
+ validator = EnumAttributeValidator.new('String', ["RotateNoneFlipNone", "Rotate90FlipNone", "Rotate180FlipNone", "Rotate270FlipNone", "RotateNoneFlipX", "Rotate90FlipX", "Rotate180FlipX", "Rotate270FlipX", "RotateNoneFlipY", "Rotate90FlipY", "Rotate180FlipY", "Rotate270FlipY", "RotateNoneFlipXY", "Rotate90FlipXY", "Rotate180FlipXY", "Rotate270FlipXY"])
140
+ if rotation.to_i == 0
141
+ unless validator.valid?(rotation)
142
+ raise ArgumentError, "invalid value for 'rotation', must be one of #{validator.allowable_values}."
143
+ end
144
+ @rotation = rotation
145
+ else
146
+ @rotation = validator.allowable_values[rotation.to_i]
147
+ end
148
+ end
149
+
150
+ # Checks equality by comparing each attribute.
151
+ # @param [Object] Object to be compared
152
+ def ==(other)
153
+ return true if self.equal?(other)
154
+ self.class == other.class &&
155
+ rotation == other.rotation &&
156
+ layers == other.layers &&
157
+ resolution_settings == other.resolution_settings &&
158
+ vector_rasterization_options == other.vector_rasterization_options
159
+ end
160
+
161
+ # @see the `==` method
162
+ # @param [Object] Object to be compared
163
+ def eql?(other)
164
+ self == other
165
+ end
166
+
167
+ # Calculates hash code according to all attributes.
168
+ # @return [Fixnum] Hash code
169
+ def hash
170
+ [rotation, layers, resolution_settings, vector_rasterization_options].hash
171
+ end
172
+
173
+ # Builds the object from hash
174
+ # @param [Hash] attributes Model attributes in the form of hash
175
+ # @return [Object] Returns the model itself
176
+ def build_from_hash(attributes)
177
+ return nil unless attributes.is_a?(Hash)
178
+ self.class.swagger_types.each_pair do |key, type|
179
+ if type =~ /\AArray<(.*)>/i
180
+ # check to ensure the input is an array given that the the attribute
181
+ # is documented as an array but the input is not
182
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
183
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
184
+ end
185
+ elsif !attributes[self.class.attribute_map[key]].nil?
186
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
187
+ end
188
+ # or else data not found in attributes(hash), not an issue as the data can be optional
189
+ end
190
+
191
+ self
192
+ end
193
+
194
+ # Deserializes the data based on type
195
+ # @param string type Data type
196
+ # @param string value Value to be deserialized
197
+ # @return [Object] Deserialized data
198
+ def _deserialize(type, value)
199
+ case type.to_sym
200
+ when :DateTime
201
+ Time.at(/\d/.match(value)[0].to_f).to_datetime
202
+ when :Date
203
+ Time.at(/\d/.match(value)[0].to_f).to_date
204
+ when :String
205
+ value.to_s
206
+ when :Integer
207
+ value.to_i
208
+ when :Float
209
+ value.to_f
210
+ when :BOOLEAN
211
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
212
+ true
213
+ else
214
+ false
215
+ end
216
+ when :Object
217
+ # generic object (usually a Hash), return directly
218
+ value
219
+ when /\AArray<(?<inner_type>.+)>\z/
220
+ inner_type = Regexp.last_match[:inner_type]
221
+ value.map { |v| _deserialize(inner_type, v) }
222
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
223
+ k_type = Regexp.last_match[:k_type]
224
+ v_type = Regexp.last_match[:v_type]
225
+ {}.tap do |hash|
226
+ value.each do |k, v|
227
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
228
+ end
229
+ end
230
+ else
231
+ # model
232
+ temp_model = AsposeCadCloud.const_get(type).new
233
+ temp_model.build_from_hash(value)
234
+ end
235
+ end
236
+
237
+ # Returns the string representation of the object
238
+ # @return [String] String presentation of the object
239
+ def to_s
240
+ to_hash.to_s
241
+ end
242
+
243
+ # to_body is an alias to to_hash (backward compatibility)
244
+ # @return [Hash] Returns the object in the form of hash
245
+ def to_body
246
+ to_hash
247
+ end
248
+
249
+ # Returns the object in the form of hash
250
+ # @return [Hash] Returns the object in the form of hash
251
+ def to_hash
252
+ hash = {}
253
+ self.class.attribute_map.each_pair do |attr, param|
254
+ value = self.send(attr)
255
+ next if value.nil?
256
+ hash[param] = _to_hash(value)
257
+ end
258
+ hash
259
+ end
260
+
261
+ # Outputs non-array value in the form of hash
262
+ # For object, use to_hash. Otherwise, just return the value
263
+ # @param [Object] value Any valid value
264
+ # @return [Hash] Returns the value in the form of hash
265
+ def _to_hash(value)
266
+ if value.is_a?(Array)
267
+ value.compact.map { |v| _to_hash(v) }
268
+ elsif value.is_a?(Hash)
269
+ {}.tap do |hash|
270
+ value.each { |k, v| hash[k] = _to_hash(v) }
271
+ end
272
+ elsif value.respond_to? :to_hash
273
+ value.to_hash
274
+ else
275
+ value
276
+ end
277
+ end
278
+
279
+ end
280
+
281
+ end
@@ -4,7 +4,7 @@ require 'date'
4
4
  module AsposeCadCloud
5
5
  #
6
6
  # --------------------------------------------------------------------------------------------------------------------
7
- # <copyright company="Aspose" file="Error.rb">
7
+ # <copyright company="Aspose" file="ErrorModel.rb">
8
8
  # Copyright (c) 2017 Aspose.CAD Cloud
9
9
  # </copyright>
10
10
  # <summary>
@@ -30,7 +30,7 @@ module AsposeCadCloud
30
30
  #
31
31
 
32
32
  # Error
33
- class Error
33
+ class ErrorModel
34
34
  # Code
35
35
  attr_accessor :code
36
36
 
@@ -0,0 +1,281 @@
1
+
2
+ require 'date'
3
+
4
+ module AsposeCadCloud
5
+ #
6
+ # --------------------------------------------------------------------------------------------------------------------
7
+ # <copyright company="Aspose" file="FbxOptionsDTO.rb">
8
+ # Copyright (c) 2017 Aspose.CAD Cloud
9
+ # </copyright>
10
+ # <summary>
11
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
12
+ # of this software and associated documentation files (the "Software"), to deal
13
+ # in the Software without restriction, including without limitation the rights
14
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15
+ # copies of the Software, and to permit persons to whom the Software is
16
+ # furnished to do so, subject to the following conditions:
17
+ #
18
+ # The above copyright notice and this permission notice shall be included in all
19
+ # copies or substantial portions of the Software.
20
+ #
21
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27
+ # SOFTWARE.
28
+ # </summary>
29
+ # --------------------------------------------------------------------------------------------------------------------
30
+ #
31
+
32
+ # Export options for FBX format
33
+ class FbxOptionsDTO
34
+ # Resulting rotation operation
35
+ attr_accessor :rotation
36
+
37
+ # Layers to export
38
+ attr_accessor :layers
39
+
40
+ # DPI resolution settings
41
+ attr_accessor :resolution_settings
42
+
43
+ # Raster options
44
+ attr_accessor :vector_rasterization_options
45
+
46
+ class EnumAttributeValidator
47
+ attr_reader :datatype
48
+ attr_reader :allowable_values
49
+
50
+ def initialize(datatype, allowable_values)
51
+ @allowable_values = allowable_values.map do |value|
52
+ case datatype.to_s
53
+ when /Integer/i
54
+ value.to_i
55
+ when /Float/i
56
+ value.to_f
57
+ else
58
+ value
59
+ end
60
+ end
61
+ end
62
+
63
+ def valid?(value)
64
+ !value || allowable_values.include?(value)
65
+ end
66
+ end
67
+
68
+ # Attribute mapping from ruby-style variable name to JSON key.
69
+ def self.attribute_map
70
+ {
71
+ :'rotation' => :'Rotation',
72
+ :'layers' => :'Layers',
73
+ :'resolution_settings' => :'ResolutionSettings',
74
+ :'vector_rasterization_options' => :'VectorRasterizationOptions'
75
+ }
76
+ end
77
+
78
+ # Attribute type mapping.
79
+ def self.swagger_types
80
+ {
81
+ :'rotation' => :'String',
82
+ :'layers' => :'Array<String>',
83
+ :'resolution_settings' => :'ResolutionSetting',
84
+ :'vector_rasterization_options' => :'CadRasterizationOptionsDTO'
85
+ }
86
+ end
87
+
88
+ # Initializes the object
89
+ # @param [Hash] attributes Model attributes in the form of hash
90
+ def initialize(attributes = {})
91
+ return unless attributes.is_a?(Hash)
92
+
93
+ # convert string to symbol for hash key
94
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
95
+
96
+ if attributes.key?(:'Rotation')
97
+ self.rotation = attributes[:'Rotation']
98
+ end
99
+
100
+ if attributes.key?(:'Layers')
101
+ if (value = attributes[:'Layers']).is_a?(Array)
102
+ self.layers = value
103
+ end
104
+ end
105
+
106
+ if attributes.key?(:'ResolutionSettings')
107
+ self.resolution_settings = attributes[:'ResolutionSettings']
108
+ end
109
+
110
+ if attributes.key?(:'VectorRasterizationOptions')
111
+ self.vector_rasterization_options = attributes[:'VectorRasterizationOptions']
112
+ end
113
+
114
+ end
115
+
116
+ # Show invalid properties with the reasons. Usually used together with valid?
117
+ # @return Array for valid properies with the reasons
118
+ def list_invalid_properties
119
+ invalid_properties = []
120
+ if @rotation.nil?
121
+ invalid_properties.push("invalid value for 'rotation', rotation cannot be nil.")
122
+ end
123
+
124
+ return invalid_properties
125
+ end
126
+
127
+ # Check to see if the all the properties in the model are valid
128
+ # @return true if the model is valid
129
+ def valid?
130
+ return false if @rotation.nil?
131
+ rotation_validator = EnumAttributeValidator.new('String', ["RotateNoneFlipNone", "Rotate90FlipNone", "Rotate180FlipNone", "Rotate270FlipNone", "RotateNoneFlipX", "Rotate90FlipX", "Rotate180FlipX", "Rotate270FlipX", "RotateNoneFlipY", "Rotate90FlipY", "Rotate180FlipY", "Rotate270FlipY", "RotateNoneFlipXY", "Rotate90FlipXY", "Rotate180FlipXY", "Rotate270FlipXY"])
132
+ return false unless rotation_validator.valid?(@rotation)
133
+ return true
134
+ end
135
+
136
+ # Custom attribute writer method checking allowed values (enum).
137
+ # @param [Object] rotation Object to be assigned
138
+ def rotation=(rotation)
139
+ validator = EnumAttributeValidator.new('String', ["RotateNoneFlipNone", "Rotate90FlipNone", "Rotate180FlipNone", "Rotate270FlipNone", "RotateNoneFlipX", "Rotate90FlipX", "Rotate180FlipX", "Rotate270FlipX", "RotateNoneFlipY", "Rotate90FlipY", "Rotate180FlipY", "Rotate270FlipY", "RotateNoneFlipXY", "Rotate90FlipXY", "Rotate180FlipXY", "Rotate270FlipXY"])
140
+ if rotation.to_i == 0
141
+ unless validator.valid?(rotation)
142
+ raise ArgumentError, "invalid value for 'rotation', must be one of #{validator.allowable_values}."
143
+ end
144
+ @rotation = rotation
145
+ else
146
+ @rotation = validator.allowable_values[rotation.to_i]
147
+ end
148
+ end
149
+
150
+ # Checks equality by comparing each attribute.
151
+ # @param [Object] Object to be compared
152
+ def ==(other)
153
+ return true if self.equal?(other)
154
+ self.class == other.class &&
155
+ rotation == other.rotation &&
156
+ layers == other.layers &&
157
+ resolution_settings == other.resolution_settings &&
158
+ vector_rasterization_options == other.vector_rasterization_options
159
+ end
160
+
161
+ # @see the `==` method
162
+ # @param [Object] Object to be compared
163
+ def eql?(other)
164
+ self == other
165
+ end
166
+
167
+ # Calculates hash code according to all attributes.
168
+ # @return [Fixnum] Hash code
169
+ def hash
170
+ [rotation, layers, resolution_settings, vector_rasterization_options].hash
171
+ end
172
+
173
+ # Builds the object from hash
174
+ # @param [Hash] attributes Model attributes in the form of hash
175
+ # @return [Object] Returns the model itself
176
+ def build_from_hash(attributes)
177
+ return nil unless attributes.is_a?(Hash)
178
+ self.class.swagger_types.each_pair do |key, type|
179
+ if type =~ /\AArray<(.*)>/i
180
+ # check to ensure the input is an array given that the the attribute
181
+ # is documented as an array but the input is not
182
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
183
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
184
+ end
185
+ elsif !attributes[self.class.attribute_map[key]].nil?
186
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
187
+ end
188
+ # or else data not found in attributes(hash), not an issue as the data can be optional
189
+ end
190
+
191
+ self
192
+ end
193
+
194
+ # Deserializes the data based on type
195
+ # @param string type Data type
196
+ # @param string value Value to be deserialized
197
+ # @return [Object] Deserialized data
198
+ def _deserialize(type, value)
199
+ case type.to_sym
200
+ when :DateTime
201
+ Time.at(/\d/.match(value)[0].to_f).to_datetime
202
+ when :Date
203
+ Time.at(/\d/.match(value)[0].to_f).to_date
204
+ when :String
205
+ value.to_s
206
+ when :Integer
207
+ value.to_i
208
+ when :Float
209
+ value.to_f
210
+ when :BOOLEAN
211
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
212
+ true
213
+ else
214
+ false
215
+ end
216
+ when :Object
217
+ # generic object (usually a Hash), return directly
218
+ value
219
+ when /\AArray<(?<inner_type>.+)>\z/
220
+ inner_type = Regexp.last_match[:inner_type]
221
+ value.map { |v| _deserialize(inner_type, v) }
222
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
223
+ k_type = Regexp.last_match[:k_type]
224
+ v_type = Regexp.last_match[:v_type]
225
+ {}.tap do |hash|
226
+ value.each do |k, v|
227
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
228
+ end
229
+ end
230
+ else
231
+ # model
232
+ temp_model = AsposeCadCloud.const_get(type).new
233
+ temp_model.build_from_hash(value)
234
+ end
235
+ end
236
+
237
+ # Returns the string representation of the object
238
+ # @return [String] String presentation of the object
239
+ def to_s
240
+ to_hash.to_s
241
+ end
242
+
243
+ # to_body is an alias to to_hash (backward compatibility)
244
+ # @return [Hash] Returns the object in the form of hash
245
+ def to_body
246
+ to_hash
247
+ end
248
+
249
+ # Returns the object in the form of hash
250
+ # @return [Hash] Returns the object in the form of hash
251
+ def to_hash
252
+ hash = {}
253
+ self.class.attribute_map.each_pair do |attr, param|
254
+ value = self.send(attr)
255
+ next if value.nil?
256
+ hash[param] = _to_hash(value)
257
+ end
258
+ hash
259
+ end
260
+
261
+ # Outputs non-array value in the form of hash
262
+ # For object, use to_hash. Otherwise, just return the value
263
+ # @param [Object] value Any valid value
264
+ # @return [Hash] Returns the value in the form of hash
265
+ def _to_hash(value)
266
+ if value.is_a?(Array)
267
+ value.compact.map { |v| _to_hash(v) }
268
+ elsif value.is_a?(Hash)
269
+ {}.tap do |hash|
270
+ value.each { |k, v| hash[k] = _to_hash(v) }
271
+ end
272
+ elsif value.respond_to? :to_hash
273
+ value.to_hash
274
+ else
275
+ value
276
+ end
277
+ end
278
+
279
+ end
280
+
281
+ end