Gocator Development Kit
 All Classes Files Functions Variables Typedefs Friends Modules Pages
GdkToolVersionInfo.h
Go to the documentation of this file.
1 /**
2 * @file GdkToolVersionInfo.h
3 * @brief Declares the GdkToolVersionInfo class.
4 *
5 * Copyright (C) 2015-2022 by LMI Technologies Inc. All rights reserved.
6 */
7 #ifndef GDK_TOOL_VERSION_INFO_H
8 #define GDK_TOOL_VERSION_INFO_H
9 
10 #include <Gdk/GdkDef.h>
15 
16 /**
17 * Describes a tool config version. A version consists of a set of parameters, measurements,
18 * and the parameters of those measurements.
19 *
20 * @class GdkToolVersionInfo
21 * @extends kObject
22 * @ingroup Gdk-Tools
23 */
26 
27 /**
28 * Use another version as the base for this version. All parameters and measurements
29 * are copied.
30 *
31 * @public @memberof GdkToolVersionInfo
32 * @param info Info object.
33 * @param source Source info object.
34 * @return Params info.
35 */
37 
38 /**
39 * Enable or disable auto versioning. When disabled, the version is set to "1" if not already set.
40 *
41 * @public @memberof GdkToolVersionInfo
42 * @param info Info object.
43 * @param enable Enable or disable.
44 * @return Params info.
45 */
47 
48 /**
49 * Returns the schema for the parameters.
50 *
51 * @public @memberof GdkToolVersionInfo
52 * @param info Info object.
53 * @return Params info.
54 */
56 
57 /**
58 * Add a measurement type.
59 *
60 * @public @memberof GdkToolVersionInfo
61 * @param info Info object.
62 * @param type Measurement type name (should be unique within the tool).
63 * @param measurementInfo Pointer to receive the new measurement info.
64 * @return Operation status.
65 */
66 GdkFx(kStatus) GdkToolVersionInfo_AddMeasurement(GdkToolVersionInfo info, const kChar* type, GdkMeasurementInfo* measurementInfo);
67 
68 /**
69 * Clears measurement types.
70 *
71 * @public @memberof GdkToolVersionInfo
72 * @param info Info object.
73 * @return Operation status.
74 */
76 
77 /**
78 * Returns the number of measurement types.
79 *
80 * @public @memberof GdkToolVersionInfo
81 * @param info Info object.
82 * @return Measurement type count.
83 */
85 
86 /**
87 * Returns the measurement type at a specified index.
88 *
89 * @public @memberof GdkToolVersionInfo
90 * @param info Info object.
91 * @param index Measurement type index.
92 * @return Measurement type.
93 */
95 
96 /**
97 * Add a feature type.
98 *
99 * @public @memberof GdkToolVersionInfo
100 * @param info Info object.
101 * @param type Feature type.
102 * @param dataType Type of feature data (Line, Circle, etc)
103 * @param featureInfo Pointer to receive the new feature info.
104 * @return Operation status.
105 */
106 GdkFx(kStatus) GdkToolVersionInfo_AddFeature(GdkToolVersionInfo info, const kChar* type, GdkFeatureDataType dataType, GdkFeatureInfo* featureInfo);
107 
108 /**
109 * Clears feature types.
110 *
111 * @public @memberof GdkToolVersionInfo
112 * @param info Info object.
113 * @return Operation status.
114 */
116 
117 /**
118 * Returns the number of feature types.
119 *
120 * @public @memberof GdkToolVersionInfo
121 * @param info Info object.
122 * @return Feature type count.
123 */
125 
126 /**
127 * Returns the feature type at a specified index.
128 *
129 * @public @memberof GdkToolVersionInfo
130 * @param info Info object.
131 * @param index Feature type index.
132 * @return Feature type.
133 */
135 
136 /**
137 * Add a tool data output type.
138 *
139 * @public @memberof GdkToolVersionInfo
140 * @param info Info object.
141 * @param type Type of the tool data output.
142 * @param dataType Type of data:
143 * - #GDK_DATA_TYPE_RANGE
144 * - #GDK_DATA_TYPE_UNIFORM_PROFILE
145 * - #GDK_DATA_TYPE_PROFILE_POINT_CLOUD
146 * - #GDK_DATA_TYPE_UNIFORM_SURFACE
147 * - #GDK_DATA_TYPE_SURFACE_POINT_CLOUD
148 * - #GDK_DATA_TYPE_MESH
149 * @param toolDataOutputInfo Pointer to receive the new tool data output info.
150 * @return Operation status.
151 */
152 GdkFx(kStatus) GdkToolVersionInfo_AddToolDataOutput(GdkToolVersionInfo info, const kChar* type, GdkDataType dataType, GdkToolDataOutputInfo* toolDataOutputInfo);
153 
154 /**
155 * Clears tool data output types.
156 *
157 * @public @memberof GdkToolVersionInfo
158 * @param info Info object.
159 * @return Operation status.
160 */
162 
163 /**
164 * Returns the number of tool data output types.
165 *
166 * @public @memberof GdkToolVersionInfo
167 * @param info Info object.
168 * @return Tool data output type count.
169 */
171 
172 /**
173 * Returns the tool data output type at a specified index.
174 *
175 * @public @memberof GdkToolVersionInfo
176 * @param info Info object.
177 * @param index Tool data output type index.
178 * @return Tool data output type.
179 */
181 
182 /**
183 * Sets the version name. If the name is specified as kNULL, a version will
184 * automatically be generated based on the contents of the version object.
185 *
186 * @public @memberof GdkToolVersionInfo
187 * @param info Info object.
188 * @param version Version name (can be empty string or kNULL).
189 * @return Found version object or kNULL.
190 */
191 GdkFx(kStatus) GdkToolVersionInfo_SetName(GdkToolVersionInfo info, const kChar* version);
192 
193 /**
194 * Returns the version name.
195 *
196 * @public @memberof GdkToolVersionInfo
197 * @param info Info object.
198 * @return Version name.
199 */
201 
202 /**
203 * Adds a data output to a tool with the specified data type
204 
205 * @public @memberof GdkToolVersionInfo
206 * @param versionInfo Version info object.
207 * @param dataType Tool data output type. The following types are supported:
208 * - #GDK_DATA_TYPE_MEASUREMENT
209 * - #GDK_DATA_TYPE_FEATURE_POINT
210 * - #GDK_DATA_TYPE_FEATURE_LINE
211 * - #GDK_DATA_TYPE_FEATURE_CIRCLE
212 * - #GDK_DATA_TYPE_FEATURE_PLANE
213 * - #GDK_DATA_TYPE_UNIFORM_PROFILE
214 * - #GDK_DATA_TYPE_PROFILE_POINT_CLOUD
215 * - #GDK_DATA_TYPE_UNIFORM_SURFACE
216 * - #GDK_DATA_TYPE_SURFACE_POINT_CLOUD
217 * - #GDK_DATA_TYPE_MESH
218 * - #GDK_DATA_TYPE_GENERIC_1 to N
219 * @param name Name of the output type.
220 * @param label Label of the output.
221 * @param outputInfo Pointer to receive the new data output's info object.
222 * It is based on the dataType and should be one of the following:
223 * GdkMeasurementInfo
224 * GdkFeatureInfo
225 * GdkToolDataOutputInfo
226 * @return Operation status.
227 */
228 GdkFx(kStatus) GdkToolVersionInfo_AddOutput(GdkToolVersionInfo versionInfo, GdkDataType dataType, const kChar* name, const kChar* label, GdkOutputInfo *outputInfo);
229 
230 /**
231 * Adds an input data set to a tool with the specified data type
232 
233 * @public @memberof GdkToolVersionInfo
234 * @param versionInfo Version info object.
235 * @param dataType Tool data output type. The following types are supported:
236 * - #GDK_DATA_TYPE_FEATURE_POINT
237 * - #GDK_DATA_TYPE_FEATURE_LINE
238 * - #GDK_DATA_TYPE_FEATURE_CIRCLE
239 * - #GDK_DATA_TYPE_FEATURE_PLANE
240 * @param name Name of the input.
241 * @param label Label of the input. If kNULL, will be set to same as name parameter
242 * @param paramInfo Pointer to receive the new intput data set's paramInfo object.
243 * @return Operation status.
244 */
245 GdkFx(kStatus) GdkToolVersionInfo_AddInput(GdkToolVersionInfo versionInfo, GdkDataType dataType, const kChar* name, const kChar* label, GdkParamInfo *paramInfo);
246 
247 /**
248 * Adds a parameter to a tool
249 
250 * @public @memberof GdkToolVersionInfo
251 * @param versionInfo Version info object.
252 * @param name Name of the parameter.
253 * @param paramType Tool parameter type. The following types are supported:
254 * - #GDK_PARAM_TYPE_INT
255 * - #GDK_PARAM_TYPE_FLOAT
256 * - #GDK_PARAM_TYPE_BOOL
257 * - #GDK_PARAM_TYPE_PROFILE_REGION
258 * - #GDK_PARAM_TYPE_SURFACE_REGION
259 * - #GDK_PARAM_TYPE_SURFACE_REGION_2D
260 * @param label Label of the param. If kNULL, will be set to same as name parameter
261 * @param defValue Pointer to the default value to set the parameter. This depends on the paramType passed.
262 * @param paramInfo Pointer to receive the new input data set's paramInfo object.
263 * @return Operation status.
264 */
265 GdkFx(kStatus) GdkToolVersionInfo_AddParam(GdkToolVersionInfo versionInfo, GdkParamType paramType, const kChar* name, const kChar* label, const void* defValue, GdkParamInfo *paramInfo);
266 
267 #endif
Essential Gdk declarations.
kStatus GdkToolVersionInfo_AddMeasurement(GdkToolVersionInfo info, const kChar *type, GdkMeasurementInfo *measurementInfo)
Add a measurement type.
Definition: GdkCfgInterfaces.h:14
GdkFeatureInfo GdkToolVersionInfo_FeatureAt(GdkToolVersionInfo info, kSize index)
Returns the feature type at a specified index.
Declares the GdkFeatureInfo class.
kStatus GdkToolVersionInfo_AddToolDataOutput(GdkToolVersionInfo info, const kChar *type, GdkDataType dataType, GdkToolDataOutputInfo *toolDataOutputInfo)
Add a tool data output type.
kStatus GdkToolVersionInfo_ClearFeatures(GdkToolVersionInfo info)
Clears feature types.
#define kDeclareClassEx(PREFIX, SYMBOL, BASE)
kStatus GdkToolVersionInfo_AddParam(GdkToolVersionInfo versionInfo, GdkParamType paramType, const kChar *name, const kChar *label, const void *defValue, GdkParamInfo *paramInfo)
Adds a parameter to a tool.
Represents the schema of a configurable parameter.
Describes a measurement type.
kStatus GdkToolVersionInfo_UseBase(GdkToolVersionInfo info, GdkToolVersionInfo source)
Use another version as the base for this version.
kStatus GdkToolVersionInfo_AddOutput(GdkToolVersionInfo versionInfo, GdkDataType dataType, const kChar *name, const kChar *label, GdkOutputInfo *outputInfo)
Adds a data output to a tool with the specified data type.
Declares the GdkMeasurementInfo class.
kStatus GdkToolVersionInfo_ClearMeasurements(GdkToolVersionInfo info)
Clears measurement types.
kStatus GdkToolVersionInfo_AddFeature(GdkToolVersionInfo info, const kChar *type, GdkFeatureDataType dataType, GdkFeatureInfo *featureInfo)
Add a feature type.
kStatus GdkToolVersionInfo_AddInput(GdkToolVersionInfo versionInfo, GdkDataType dataType, const kChar *name, const kChar *label, GdkParamInfo *paramInfo)
Adds an input data set to a tool with the specified data type.
Represents geometric feature output type.
Declares the GdkToolDataOutputInfo class.
kStatus GdkToolVersionInfo_EnableAutoVersion(GdkToolVersionInfo info, kBool enable)
Enable or disable auto versioning.
kStatus GdkToolVersionInfo_ClearToolDataOutputs(GdkToolVersionInfo info)
Clears tool data output types.
Represents the schema of a parameter set.
kSize GdkToolVersionInfo_MeasurementCount(GdkToolVersionInfo info)
Returns the number of measurement types.
Describes a feature type.
Declares the GdkParamsInfo class.
kStatus GdkToolVersionInfo_SetName(GdkToolVersionInfo info, const kChar *version)
Sets the version name.
Describes a output type.
kSize GdkToolVersionInfo_ToolDataOutputCount(GdkToolVersionInfo info)
Returns the number of tool data output types.
GdkParamsInfo GdkToolVersionInfo_Params(GdkToolVersionInfo info)
Returns the schema for the parameters.
Describes a tool config version.
kSize GdkToolVersionInfo_FeatureCount(GdkToolVersionInfo info)
Returns the number of feature types.
GdkToolDataOutputInfo GdkToolVersionInfo_ToolDataOutputAt(GdkToolVersionInfo info, kSize index)
Returns the tool data output type at a specified index.
Represents data type. No longer used as a bitmask. Note that generic data types will have their msb s...
const kChar * GdkToolVersionInfo_Name(GdkToolVersionInfo info)
Returns the version name.
GdkMeasurementInfo GdkToolVersionInfo_MeasurementAt(GdkToolVersionInfo info, kSize index)
Returns the measurement type at a specified index.
Describes a GdkToolDataOutputInfo type.
Type of a parameter.