root/cgm/cgm_apps/TSTT/server/TSTTG_CGM_CgmGeom_Impl.cc @ 1040

Revision 1040, 70.7 KB (checked in by tautges, 2 years ago)

Version 10.2 of cgm.

Line 
1//
2// File:          TSTTG_CGM_CgmGeom_Impl.cc
3// Symbol:        TSTTG_CGM.CgmGeom-v0.1
4// Symbol Type:   class
5// Babel Version: 0.9.8
6// sidl Created:  20051011 16:26:00 GMT-06:00
7// Generated:     20051011 16:26:03 GMT-06:00
8// Description:   Server-side implementation for TSTTG_CGM.CgmGeom
9//
10// WARNING: Automatically generated; only changes within splicers preserved
11//
12// babel-version = 0.9.8
13// source-line   = 5
14// source-url    = file:/home/tjtautg/tstt/cvs/TSTTG/TSTTG_CGM.sidl
15//
16#include "TSTTG_CGM_CgmGeom_Impl.hh"
17
18// DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom._includes)
19// Put additional includes or other arbitrary code here...
20#include "sidlArray.h"
21#include "TSTTB.hh"
22#include "TSTTG_CGM.h"
23#include "TSTTG_GentityType_IOR.h"
24#include "TSTTB_Error.hh"
25#include <iostream>
26
27TSTTG_Instance tsttgInstance = NULL;
28#define PROCESS_ERROR if (TSTTG_LAST_ERROR.error_type != TSTTB_SUCCESS) this->processError()
29#define GENERATE_ERROR(a) {TSTTG_LAST_ERROR.error_type = a; this->processError();}
30
31// need this for definitions in TSTTB_SNL_SIDL_defs.h
32#define LOCAL_TSTTB_ERROR TSTTG_LAST_ERROR
33#include "TSTTB_SNL_SIDL_defs.h"
34#include <string>
35// DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom._includes)
36
37// user defined constructor
38void TSTTG_CGM::CgmGeom_impl::_ctor() {
39    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom._ctor)
40    // add construction details here
41  TSTTG_ctor(&tsttgInstance);
42  PROCESS_ERROR;
43    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom._ctor)
44}
45
46// user defined destructor
47void TSTTG_CGM::CgmGeom_impl::_dtor() {
48    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom._dtor)
49    // add destruction details here
50  TSTTG_dtor(tsttgInstance);
51  PROCESS_ERROR;
52    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom._dtor)
53}
54
55// user defined static methods: (none)
56
57// user defined non-static methods:
58/**
59 * Return gentities of specified dimension in this set, or in whole model.
60 * @param set_handle Entity set being queried (if 0, whole model)
61 * @param gentity_dimension Dimension of entities being queried
62 * @param gentity_handles Gentity handles
63 */
64void
65TSTTG_CGM::CgmGeom_impl::gentitysetGetGentitiesOfType (
66  /*in*/ void* set_handle,
67  /*in*/ ::TSTTG::GentityType gentity_type,
68  /*inout*/ ::sidl::array<void*>& gentity_handles,
69  /*out*/ int32_t& gentity_handles_size ) 
70throw ( 
71  ::TSTTB::Error
72){
73    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.gentitysetGetGentitiesOfType)
74    // insert implementation here
75  if (gentity_type > ::TSTTG::GentityType_GALL_TYPES || 
76      gentity_type < ::TSTTG::GentityType_GVERTEX) {
77    GENERATE_ERROR(TSTTB_INVALID_ENTITY_TYPE);
78    return;
79  }
80   
81  CREATE_TEMP_ARRAY(void*, gentity_handles);
82
83  TSTTG_gentitysetGetGentitiesOfType (tsttgInstance, 
84                                      set_handle,
85                                      (TSTTG_GentityType)gentity_type,
86                                      TEMP_ARRAY_INOUT(gentity_handles));
87  PROCESS_ERROR;
88
89  ASSIGN_ARRAY(gentity_handles);
90    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.gentitysetGetGentitiesOfType)
91}
92
93/**
94 * Return number of gentities of specified dimension in this set, or in
95 * whole model.
96 * @param set_handle Entity set being queried (if 0, whole model)
97 * @param gentity_dimension Dimension of entities being queried
98 * @return Number of entities
99 */
100int32_t
101TSTTG_CGM::CgmGeom_impl::gentitysetGetNumberGentitiesOfType (
102  /*in*/ void* set_handle,
103  /*in*/ ::TSTTG::GentityType gentity_type ) 
104throw ( 
105  ::TSTTB::Error
106){
107    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.gentitysetGetNumberGentitiesOfType)
108    // insert implementation here
109  if (gentity_type > ::TSTTG::GentityType_GALL_TYPES || 
110      gentity_type < ::TSTTG::GentityType_GVERTEX) {
111    GENERATE_ERROR(TSTTB_INVALID_ENTITY_TYPE);
112    return -1;
113  }
114  int32_t retval = TSTTG_gentitysetGetNumberGentitiesOfType (tsttgInstance, 
115                                                             set_handle,
116                                                             (TSTTG_GentityType)gentity_type);
117  PROCESS_ERROR;
118  return retval;
119    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.gentitysetGetNumberGentitiesOfType)
120}
121
122/**
123 *    Returns an integer array of topological dimensions for an input
124 *    array of entity handles.
125 */
126void
127TSTTG_CGM::CgmGeom_impl::gentityGetType (
128  /*in*/ ::sidl::array<void*> gentity_handles,
129  /*in*/ int32_t gentity_handles_size,
130  /*inout*/ ::sidl::array< ::TSTTG::GentityType>& gtype,
131  /*inout*/ int32_t& gtype_size ) 
132throw ( 
133  ::TSTTB::Error
134){
135    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.gentityGetType)
136    // insert implementation here
137  CREATE_TEMP_ENUM_ARRAY(TSTTG_GentityType, gtype);
138 
139  TSTTG_gentityGetType (tsttgInstance, 
140                        (const void**) TEMP_ARRAY_IN(gentity_handles), 
141                        TEMP_ARRAY_INOUT(gtype));
142  PROCESS_ERROR;
143
144  ASSIGN_ENUM_ARRAY(gtype);
145    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.gentityGetType)
146}
147
148/**
149 * Get the adjacent entities of a given dimension.
150 * @param gentity_handle Entity for which adjacencies are requested
151 * @param to_dimension Target dimension of adjacent entities
152 * @param adj_gentities List returned with adjacent entities
153 */
154void
155TSTTG_CGM::CgmGeom_impl::gentityGetAdjacencies (
156  /*in*/ void* gentity_handle,
157  /*in*/ int32_t to_dimension,
158  /*inout*/ ::sidl::array<void*>& adj_gentities,
159  /*inout*/ int32_t& adj_gentities_size ) 
160throw ( 
161  ::TSTTB::Error
162){
163    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.gentityGetAdjacencies)
164    // insert implementation here
165  CREATE_TEMP_ARRAY(void*, adj_gentities);
166 
167  TSTTG_gentityGetAdjacencies (tsttgInstance, 
168                               gentity_handle,
169                               to_dimension,
170                               TEMP_ARRAY_INOUT(adj_gentities));
171  PROCESS_ERROR;
172
173  ASSIGN_ARRAY(adj_gentities);
174    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.gentityGetAdjacencies)
175}
176
177/**
178 * Get the "2nd order" adjacent entities, through a specified "bridge"
179 * dimension, of a target dimension.  For example, given a region, return
180 * the regions (to_dimension=3) sharing an edge (bridge_dimension=1)
181 * with that region.  bridge_dimension must be less than dimension of
182 * gentity_handle, and to_dimension must be greater than bridge dimension.
183 *
184 * @param gentity_handle Entity for which 2nd order adjacencies are requested
185 * @param to_dimension Target dimension of 2nd order adjacent entities
186 * @param bridge_dimension Dimension of "bridge" entities
187 * @param adj_gentities List returned with 2nd order adjacent entities
188 */
189void
190TSTTG_CGM::CgmGeom_impl::gentityGet2OAdjacencies (
191  /*in*/ void* gentity_handle,
192  /*in*/ int32_t bridge_dimension,
193  /*in*/ int32_t to_dimension,
194  /*inout*/ ::sidl::array<void*>& adjacent_gentities,
195  /*out*/ int32_t& adjacent_gentities_size ) 
196throw ( 
197  ::TSTTB::Error
198){
199    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.gentityGet2OAdjacencies)
200    // insert implementation here
201  CREATE_TEMP_ARRAY(void*, adjacent_gentities);
202 
203  TSTTG_gentityGet2OAdjacencies (tsttgInstance, 
204                                 gentity_handle,
205                                 bridge_dimension,
206                                 to_dimension,
207                                 TEMP_ARRAY_INOUT(adjacent_gentities));
208  PROCESS_ERROR;
209 
210  ASSIGN_ARRAY(adjacent_gentities);
211 
212    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.gentityGet2OAdjacencies)
213}
214
215/**
216 * Return whether or not entities are adjacent.
217 * @param gentity_handle1 1st entity
218 * @param gentity_handle2 2nd entity
219 * @param are_adjacent If true, entities are adjacent
220 */
221void
222TSTTG_CGM::CgmGeom_impl::gentityIsAdjacent (
223  /*in*/ void* gentity_handle1,
224  /*in*/ void* gentity_handle2,
225  /*out*/ bool& are_adjacent ) 
226throw ( 
227  ::TSTTB::Error
228){
229    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.gentityIsAdjacent)
230    // insert implementation here
231  TSTTG_gentityIsAdjacent (tsttgInstance, 
232                           gentity_handle1,
233                           gentity_handle2,
234                           &are_adjacent);
235  PROCESS_ERROR;
236    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.gentityIsAdjacent)
237}
238
239/**
240 * Load a model specified by name. Which formats are supported and the
241 * specific meaning of this name string (e.g. file name, model name,
242 * etc.) are implementation-dependent.  Options are also implementation-
243 * dependent.
244 * @param name Name of the model
245 * @param options String options
246 */
247void
248TSTTG_CGM::CgmGeom_impl::gLoad (
249  /*in*/ const ::std::string& name,
250  /*in*/ ::sidl::array< ::std::string> options,
251  /*in*/ int32_t options_size ) 
252throw ( 
253  ::TSTTB::Error
254){
255    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.gLoad)
256    // insert implementation here
257  const char **tmp_options = NULL;
258  if (options_size > 0) {
259    tmp_options = new const char*[options_size];
260    for (int i = 0; i < options_size; i++)
261      tmp_options[i] = (options.get(i)).c_str();
262  }
263 
264  TSTTG_gLoad(tsttgInstance, name.c_str(), tmp_options, 
265              options_size);
266 
267  delete [] tmp_options;
268
269  PROCESS_ERROR;
270    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.gLoad)
271}
272
273/**
274 * Save a model to a file specified by name. Which formats are supported and the
275 * specific meaning of this name string (e.g. file name, model name,
276 * etc.) are implementation-dependent.  Options are also implementation-
277 * dependent.
278 * @param name Name of the file to save to
279 * @param options String options
280 */
281void
282TSTTG_CGM::CgmGeom_impl::gSave (
283  /*in*/ const ::std::string& name,
284  /*in*/ ::sidl::array< ::std::string> options,
285  /*in*/ int32_t options_size ) 
286throw ( 
287  ::TSTTB::Error
288){
289  // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.gSave)
290  // insert implementation here
291  const char **tmp_options = NULL;
292  if (options_size > 0) {
293    tmp_options = new const char*[options_size];
294    for (int i = 0; i < options_size; i++)
295      tmp_options[i] = (options.get(i)).c_str();
296  }
297 
298  TSTTG_gSave(tsttgInstance, name.c_str(), tmp_options, 
299              options_size);
300 
301  delete [] tmp_options;
302
303  PROCESS_ERROR;
304  // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.gSave)
305}
306
307/**
308 * Method:  createTag[]
309 */
310void
311TSTTG_CGM::CgmGeom_impl::createTag (
312  /*in*/ const ::std::string& tag_name,
313  /*in*/ int32_t number_of_values,
314  /*in*/ ::TSTTB::TagValueType tag_type,
315  /*out*/ void*& tag_handle ) 
316throw ( 
317  ::TSTTB::Error
318){
319    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.createTag)
320    // insert implementation here
321  if (tag_type > ::TSTTB::TagValueType_BYTES || 
322      tag_type < ::TSTTB::TagValueType_INTEGER) {
323    GENERATE_ERROR(TSTTB_INVALID_ARGUMENT);
324    return;
325  }
326  TSTTG_createTag(tsttgInstance, tag_name.c_str(), number_of_values, (TSTTG_TagValueType)tag_type, 
327                  &tag_handle);
328  PROCESS_ERROR;
329    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.createTag)
330}
331
332/**
333 * Method:  destroyTag[]
334 */
335void
336TSTTG_CGM::CgmGeom_impl::destroyTag (
337  /*in*/ void* tag_handle,
338  /*in*/ bool forced ) 
339throw ( 
340  ::TSTTB::Error
341){
342    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.destroyTag)
343    // insert implementation here
344  TSTTG_destroyTag(tsttgInstance, tag_handle, forced);
345  PROCESS_ERROR;
346    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.destroyTag)
347}
348
349/**
350 * Method:  getTagName[]
351 */
352::std::string
353TSTTG_CGM::CgmGeom_impl::getTagName (
354  /*in*/ void* tag_handle ) 
355throw ( 
356  ::TSTTB::Error
357){
358    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getTagName)
359    // insert implementation here
360  std::string retval = TSTTG_getTagName(tsttgInstance, tag_handle);
361  PROCESS_ERROR;
362  return retval;
363    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getTagName)
364}
365
366/**
367 * Method:  getTagSizeValues[]
368 */
369int32_t
370TSTTG_CGM::CgmGeom_impl::getTagSizeValues (
371  /*in*/ void* tag_handle ) 
372throw ( 
373  ::TSTTB::Error
374){
375  // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getTagSizeValues)
376  // insert implementation here
377  int32_t retval = TSTTG_getTagSizeValues(tsttgInstance, tag_handle);
378  PROCESS_ERROR;
379  return retval;
380  // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getTagSizeValues)
381}
382
383/**
384 * Method:  getTagSizeBytes[]
385 */
386int32_t
387TSTTG_CGM::CgmGeom_impl::getTagSizeBytes (
388  /*in*/ void* tag_handle ) 
389throw ( 
390  ::TSTTB::Error
391){
392  // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getTagSizeBytes)
393  // insert implementation here
394  int32_t retval = TSTTG_getTagSizeBytes(tsttgInstance, tag_handle);
395  PROCESS_ERROR;
396  return retval;
397  // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getTagSizeBytes)
398}
399
400/**
401 * Method:  getTagHandle[]
402 */
403void*
404TSTTG_CGM::CgmGeom_impl::getTagHandle (
405  /*in*/ const ::std::string& tag_name ) 
406throw ( 
407  ::TSTTB::Error
408){
409    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getTagHandle)
410    // insert implementation here
411  void *retval = TSTTG_getTagHandle(tsttgInstance, tag_name.c_str());
412  PROCESS_ERROR;
413  return retval;
414    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getTagHandle)
415}
416
417/**
418 * Method:  getTagType[]
419 */
420::TSTTB::TagValueType
421TSTTG_CGM::CgmGeom_impl::getTagType (
422  /*in*/ void* tag_handle ) 
423throw ( 
424  ::TSTTB::Error
425){
426    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getTagType)
427    // insert implementation here
428  ::TSTTB::TagValueType retval = (::TSTTB::TagValueType) TSTTG_getTagType(tsttgInstance,
429                                                                        tag_handle );
430  PROCESS_ERROR;
431  return retval;
432    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getTagType)
433}
434
435/**
436 * Method:  getArrData[]
437 */
438void
439TSTTG_CGM::CgmGeom_impl::getArrData (
440  /*in*/ ::sidl::array<void*> entity_handles,
441  /*in*/ int32_t entity_handles_size,
442  /*in*/ void* tag_handle,
443  /*inout*/ ::sidl::array<char>& value_array,
444  /*out*/ int32_t& value_array_size ) 
445throw ( 
446  ::TSTTB::Error
447){
448    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getArrData)
449    // insert implementation here
450  CREATE_TEMP_TAG_ARRAY(value_array);
451 
452  TSTTG_getArrData(tsttgInstance, 
453                   (const void **) TEMP_ARRAY_IN(entity_handles), 
454                   tag_handle, 
455                   TEMP_ARRAY_INOUT(value_array));
456  PROCESS_ERROR;
457
458  ASSIGN_TAG_ARRAY(value_array);
459    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getArrData)
460}
461
462/**
463 * Method:  getIntArrData[]
464 */
465void
466TSTTG_CGM::CgmGeom_impl::getIntArrData (
467  /*in*/ ::sidl::array<void*> entity_handles,
468  /*in*/ int32_t entity_handles_size,
469  /*in*/ void* tag_handle,
470  /*inout*/ ::sidl::array<int32_t>& value_array,
471  /*out*/ int32_t& value_array_size ) 
472throw ( 
473  ::TSTTB::Error
474){
475    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getIntArrData)
476    // insert implementation here
477  CREATE_TEMP_ARRAY(int32_t, value_array);
478 
479  TSTTG_getIntArrData (tsttgInstance,
480                       (const void **) TEMP_ARRAY_IN(entity_handles),
481                       tag_handle,
482                       TEMP_ARRAY_INOUT(value_array));
483  PROCESS_ERROR;
484
485  ASSIGN_ARRAY(value_array);
486    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getIntArrData)
487}
488
489/**
490 * Method:  getDblArrData[]
491 */
492void
493TSTTG_CGM::CgmGeom_impl::getDblArrData (
494  /*in*/ ::sidl::array<void*> entity_handles,
495  /*in*/ int32_t entity_handles_size,
496  /*in*/ void* tag_handle,
497  /*inout*/ ::sidl::array<double>& value_array,
498  /*out*/ int32_t& value_array_size ) 
499throw ( 
500  ::TSTTB::Error
501){
502    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getDblArrData)
503    // insert implementation here
504  CREATE_TEMP_ARRAY(double, value_array);
505 
506  TSTTG_getDblArrData (tsttgInstance,
507                       (const void **) TEMP_ARRAY_IN(entity_handles),
508                       tag_handle,
509                       TEMP_ARRAY_INOUT(value_array));
510  PROCESS_ERROR;
511
512  ASSIGN_ARRAY(value_array);
513    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getDblArrData)
514}
515
516/**
517 * Method:  getEHArrData[]
518 */
519void
520TSTTG_CGM::CgmGeom_impl::getEHArrData (
521  /*in*/ ::sidl::array<void*> entity_handles,
522  /*in*/ int32_t entity_handles_size,
523  /*in*/ void* tag_handle,
524  /*inout*/ ::sidl::array<void*>& value_array,
525  /*out*/ int32_t& value_array_size ) 
526throw ( 
527  ::TSTTB::Error
528){
529    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getEHArrData)
530    // insert implementation here
531
532  CREATE_TEMP_ARRAY(void*, value_array);
533 
534  TSTTG_getEHArrData (tsttgInstance,
535                      (const void**) TEMP_ARRAY_IN(entity_handles),
536                      tag_handle,
537                      TEMP_ARRAY_INOUT(value_array));
538  PROCESS_ERROR;
539
540  ASSIGN_ARRAY(value_array);
541    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getEHArrData)
542}
543
544/**
545 * Method:  setArrData[]
546 */
547void
548TSTTG_CGM::CgmGeom_impl::setArrData (
549  /*in*/ ::sidl::array<void*> entity_handles,
550  /*in*/ int32_t entity_handles_size,
551  /*in*/ void* tag_handle,
552  /*in*/ ::sidl::array<char> value_array,
553  /*in*/ int32_t value_array_size ) 
554throw ( 
555  ::TSTTB::Error
556){
557    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.setArrData)
558    // insert implementation here
559  TSTTG_setArrData(tsttgInstance, 
560                   TEMP_ARRAY_IN(entity_handles),
561                   tag_handle, 
562                   TEMP_TAG_ARRAY_IN(value_array));
563  PROCESS_ERROR;
564    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.setArrData)
565}
566
567/**
568 * Method:  setIntArrData[]
569 */
570void
571TSTTG_CGM::CgmGeom_impl::setIntArrData (
572  /*in*/ ::sidl::array<void*> entity_handles,
573  /*in*/ int32_t entity_handles_size,
574  /*in*/ void* tag_handle,
575  /*in*/ ::sidl::array<int32_t> value_array,
576  /*in*/ int32_t value_array_size ) 
577throw ( 
578  ::TSTTB::Error
579){
580    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.setIntArrData)
581    // insert implementation here
582  TSTTG_setIntArrData (tsttgInstance,
583                       TEMP_ARRAY_IN(entity_handles),
584                       tag_handle,
585                       TEMP_ARRAY_IN(value_array));
586  PROCESS_ERROR;
587    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.setIntArrData)
588}
589
590/**
591 * Method:  setDblArrData[]
592 */
593void
594TSTTG_CGM::CgmGeom_impl::setDblArrData (
595  /*in*/ ::sidl::array<void*> entity_handles,
596  /*in*/ int32_t entity_handles_size,
597  /*in*/ void* tag_handle,
598  /*in*/ ::sidl::array<double> value_array,
599  /*in*/ int32_t value_array_size ) 
600throw ( 
601  ::TSTTB::Error
602){
603    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.setDblArrData)
604    // insert implementation here
605  TSTTG_setDblArrData (tsttgInstance,
606                       TEMP_ARRAY_IN(entity_handles),
607                       tag_handle,
608                       TEMP_ARRAY_IN(value_array));
609  PROCESS_ERROR;
610    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.setDblArrData)
611}
612
613/**
614 * Method:  setEHArrData[]
615 */
616void
617TSTTG_CGM::CgmGeom_impl::setEHArrData (
618  /*in*/ ::sidl::array<void*> entity_handles,
619  /*in*/ int32_t entity_handles_size,
620  /*in*/ void* tag_handle,
621  /*in*/ ::sidl::array<void*> value_array,
622  /*in*/ int32_t value_array_size ) 
623throw ( 
624  ::TSTTB::Error
625){
626    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.setEHArrData)
627    // insert implementation here
628  TSTTG_setEHArrData (tsttgInstance,
629                      TEMP_ARRAY_IN(entity_handles),
630                      tag_handle,
631                      (const void **) TEMP_ARRAY_IN(value_array));
632  PROCESS_ERROR;
633    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.setEHArrData)
634}
635
636/**
637 * Method:  rmvArrTag[]
638 */
639void
640TSTTG_CGM::CgmGeom_impl::rmvArrTag (
641  /*in*/ ::sidl::array<void*> entity_handles,
642  /*in*/ int32_t entity_handles_size,
643  /*in*/ void* tag_handle ) 
644throw ( 
645  ::TSTTB::Error
646){
647    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.rmvArrTag)
648    // insert implementation here
649  TSTTG_rmvArrTag (tsttgInstance,
650                   TEMP_ARRAY_IN(entity_handles),
651                   tag_handle );
652  PROCESS_ERROR;
653    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.rmvArrTag)
654}
655
656/**
657 * Initialize an iterator over gentities of a specified dimension.
658 * @param gentity_dimension Dimension of gentities to be iterated over
659 * @param gentity_iterator Iterator initialized by this function
660 */
661void
662TSTTG_CGM::CgmGeom_impl::gentityIteratorInit (
663  /*in*/ int32_t gentity_dimension,
664  /*out*/ void*& gentity_iterator ) 
665throw ( 
666  ::TSTTB::Error
667){
668    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.gentityIteratorInit)
669    // insert implementation here
670  TSTTG_gentityIteratorInit (tsttgInstance, gentity_dimension, &gentity_iterator);
671  PROCESS_ERROR;
672    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.gentityIteratorInit)
673}
674
675/**
676 * Get the next entity for this iterator.
677 * @param gentity_iterator Iterator being iterated over
678 * @param gentity_handle Next gentity
679 * @return If true, there are more gentities, if false, this is the last one
680 */
681bool
682TSTTG_CGM::CgmGeom_impl::gentityIteratorNext (
683  /*inout*/ void*& gentity_iterator,
684  /*out*/ void*& gentity_handle ) 
685throw ( 
686  ::TSTTB::Error
687){
688    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.gentityIteratorNext)
689    // insert implementation here
690  bool retval = TSTTG_gentityIteratorNext (tsttgInstance, 
691                                           &gentity_iterator,
692                                           &gentity_handle);
693  PROCESS_ERROR;
694  return retval;
695    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.gentityIteratorNext)
696}
697
698/**
699 * Reset an iterator back to the first gentity
700 * @param gentity_iterator Iterator reset by this function
701 */
702void
703TSTTG_CGM::CgmGeom_impl::gentityIteratorReset (
704  /*inout*/ void*& gentity_iterator ) 
705throw ( 
706  ::TSTTB::Error
707){
708    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.gentityIteratorReset)
709    // insert implementation here
710  TSTTG_gentityIteratorReset (tsttgInstance, 
711                              &gentity_iterator);
712  PROCESS_ERROR;
713    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.gentityIteratorReset)
714}
715
716/**
717 * Delete an iterator
718 * @param gentity_iterator Iterator deleted by this function
719 */
720void
721TSTTG_CGM::CgmGeom_impl::gentityIteratorDelete (
722  /*in*/ void* Gentity_dim_iterator ) 
723throw ( 
724  ::TSTTB::Error
725){
726    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.gentityIteratorDelete)
727    // insert implementation here
728  TSTTG_gentityIteratorDelete (tsttgInstance, 
729                               Gentity_dim_iterator);
730  PROCESS_ERROR;
731    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.gentityIteratorDelete)
732}
733
734/**
735 * Return a points on specified entities closest to specified points
736 * in space.  Input coordinates and output points are interleaved in
737 * the arrays.
738 * @param gentity_handles The gentities being queried
739 * @param near_coordinates Input coordinates
740 * @param on_coordinates Closest point on gentity
741 */
742void
743TSTTG_CGM::CgmGeom_impl::gentityClosestPoint (
744  /*in*/ ::sidl::array<void*> gentity_handles,
745  /*in*/ int32_t gentity_handles_size,
746  /*in*/ ::sidl::array<double> near_coordinates,
747  /*in*/ int32_t near_coordinates_size,
748  /*inout*/ ::sidl::array<double>& on_coordinates,
749  /*out*/ int32_t& on_coordinates_size ) 
750throw ( 
751  ::TSTTB::Error
752){
753    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.gentityClosestPoint)
754    // insert implementation here
755  CREATE_TEMP_ARRAY(double, on_coordinates);
756 
757  TSTTG_gentityClosestPoint (tsttgInstance, 
758                             (const void **) TEMP_ARRAY_IN(gentity_handles),
759                             TEMP_ARRAY_IN(near_coordinates),
760                             TEMP_ARRAY_INOUT(on_coordinates));
761  PROCESS_ERROR;
762
763  ASSIGN_ARRAY(on_coordinates);
764    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.gentityClosestPoint)
765}
766
767/**
768 * Return the normals at point on specified entities.  Returns error
769 * if any input entity is not a gface.  Input coordinates and normals
770 * are interleaved in the arrays.
771 * @param gentity_handles The gentities being queried
772 * @param coordinates Input coordinates, interleaved
773 * @param normals The normals at the specified points, interleaved
774 */
775void
776TSTTG_CGM::CgmGeom_impl::gentityNormal (
777  /*in*/ ::sidl::array<void*> gentity_handles,
778  /*in*/ int32_t gentity_handles_size,
779  /*in*/ ::sidl::array<double> coordinates,
780  /*in*/ int32_t coordinates_size,
781  /*inout*/ ::sidl::array<double>& normals,
782  /*out*/ int32_t& normals_size ) 
783throw ( 
784  ::TSTTB::Error
785){
786    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.gentityNormal)
787    // insert implementation here
788  CREATE_TEMP_ARRAY(double, normals);
789 
790  TSTTG_gentityNormal (tsttgInstance, 
791                       (const void **) TEMP_ARRAY_IN(gentity_handles),
792                       TEMP_ARRAY_IN(coordinates),
793                       TEMP_ARRAY_INOUT(normals));
794  PROCESS_ERROR;
795
796  ASSIGN_ARRAY(normals);
797    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.gentityNormal)
798}
799
800/**
801 * Return points and normals on specified entities closest to specified points
802 * in space.  Input coordinates and output points are interleaved in
803 * the arrays.
804 * @param gentity_handles The gentities being queried
805 * @param near_coordinates Input coordinates
806 * @param on_coordinates Closest point on gentity
807 * @param normals Normals on gentity
808 */
809void
810TSTTG_CGM::CgmGeom_impl::gentityClosestPointAndNormal (
811  /*in*/ ::sidl::array<void*> gentity_handles,
812  /*in*/ int32_t gentity_handles_size,
813  /*in*/ ::sidl::array<double> near_coordinates,
814  /*in*/ int32_t near_coordinates_size,
815  /*inout*/ ::sidl::array<double>& on_coordinates,
816  /*out*/ int32_t& on_coordinates_size,
817  /*inout*/ ::sidl::array<double>& normals,
818  /*out*/ int32_t& normals_size ) 
819throw ( 
820  ::TSTTB::Error
821){
822  // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.gentityClosestPointAndNormal)
823  // insert implementation here
824  CREATE_TEMP_ARRAY(double, on_coordinates);
825  CREATE_TEMP_ARRAY(double, normals);
826 
827  TSTTG_gentityClosestPointAndNormal (tsttgInstance, 
828                             (const void **) TEMP_ARRAY_IN(gentity_handles),
829                             TEMP_ARRAY_IN(near_coordinates),
830                             TEMP_ARRAY_INOUT(on_coordinates),
831                             TEMP_ARRAY_INOUT(normals));
832  PROCESS_ERROR;
833
834  ASSIGN_ARRAY(on_coordinates);
835  ASSIGN_ARRAY(normals);
836  // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.gentityClosestPointAndNormal)
837}
838
839/**
840 * Return the tangent at point on specified entities.  Returns error
841 * if any input entity is not a gedge.  Input coordinates and tangents
842 * are interleaved in the arrays.
843 * @param gentity_handles The gentities being queried
844 * @param coordinates Input coordinates, interleaved
845 * @param tangents The tangents at the specified points, interleaved
846 */
847void
848TSTTG_CGM::CgmGeom_impl::gentityTangent (
849  /*in*/ ::sidl::array<void*> gentity_handles,
850  /*in*/ int32_t gentity_handles_size,
851  /*in*/ ::sidl::array<double> coordinates,
852  /*in*/ int32_t coordinates_size,
853  /*inout*/ ::sidl::array<double>& tangents,
854  /*out*/ int32_t& tangents_size ) 
855throw ( 
856  ::TSTTB::Error
857){
858    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.gentityTangent)
859    // insert implementation here
860  CREATE_TEMP_ARRAY(double, tangents);
861 
862  TSTTG_gentityTangent (tsttgInstance, 
863                        (const void **) TEMP_ARRAY_IN(gentity_handles),
864                        TEMP_ARRAY_IN(coordinates),
865                        TEMP_ARRAY_INOUT(tangents));
866  PROCESS_ERROR;
867
868  ASSIGN_ARRAY(tangents);
869    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.gentityTangent)
870}
871
872/**
873 * Return the bounding boxex of given entities; coordinates returned
874 * interleaved.
875 * @param gentity_handles The gentities being queried
876 * @param min_corners Minimum corner coordinates of the boxes, interleaved
877 * @param max_corners Maximum corner coordinates of the boxes, interleaved
878 */
879void
880TSTTG_CGM::CgmGeom_impl::gentityBoundingBox (
881  /*in*/ ::sidl::array<void*> gentity_handles,
882  /*in*/ int32_t gentity_handles_size,
883  /*inout*/ ::sidl::array<double>& min_corner,
884  /*out*/ int32_t& min_corner_size,
885  /*inout*/ ::sidl::array<double>& max_corner,
886  /*out*/ int32_t& max_corner_size ) 
887throw ( 
888  ::TSTTB::Error
889){
890    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.gentityBoundingBox)
891    // insert implementation here
892  CREATE_TEMP_ARRAY(double, max_corner);
893  CREATE_TEMP_ARRAY(double, min_corner);
894 
895  TSTTG_gentityBoundingBox (tsttgInstance, 
896                            TEMP_ARRAY_IN(gentity_handles),
897                            TEMP_ARRAY_INOUT(min_corner),
898                            TEMP_ARRAY_INOUT(max_corner));
899  PROCESS_ERROR;
900
901  ASSIGN_ARRAY(min_corner);
902  ASSIGN_ARRAY(max_corner);
903    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.gentityBoundingBox)
904}
905
906/**
907 * Return the coordinates of the specified vertices; returns error if any
908 * of the entities are not gvertices.  Coordinates returned interleaved.
909 * @param gentity_handles The gentities being queried
910 * @param coordinates The coordinates of the gvertices, interleaved.
911 */
912void
913TSTTG_CGM::CgmGeom_impl::getGvertexCoordinates (
914  /*in*/ ::sidl::array<void*> gentity_handles,
915  /*in*/ int32_t gentity_handles_size,
916  /*inout*/ ::sidl::array<double>& coordinates,
917  /*out*/ int32_t& coordinates_size ) 
918throw ( 
919  ::TSTTB::Error
920){
921    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getGvertexCoordinates)
922    // insert implementation here
923  CREATE_TEMP_ARRAY(double, coordinates);
924 
925  TSTTG_getGvertexCoordinates (tsttgInstance, 
926                               (const void **) TEMP_ARRAY_IN(gentity_handles),
927                               TEMP_ARRAY_INOUT(coordinates));
928  PROCESS_ERROR;
929
930  ASSIGN_ARRAY(coordinates);
931    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getGvertexCoordinates)
932}
933
934/**
935 * Return the sense of a gface with respect to a gregion.  Sense is either
936 * forward (=1), reverse (=-1), both (=2), or unknown (=0).  Error is returned
937 * if first entity is not a gface or second entity is not a gregion.
938 * @param gface Gface whose sense is being queried.
939 * @param gregion Gregion gface is being queried with respect to
940 */
941int32_t
942TSTTG_CGM::CgmGeom_impl::getGnormalSense (
943  /*in*/ void* gface,
944  /*in*/ void* gregion ) 
945throw ( 
946  ::TSTTB::Error
947){
948    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getGnormalSense)
949    // insert implementation here
950  int32_t retval = TSTTG_getGnormalSense (tsttgInstance, 
951                                          gface,
952                                          gregion);
953  PROCESS_ERROR;
954  return retval;
955    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getGnormalSense)
956}
957
958/**
959 * Return the sense of a gedge with respect to a gface.  Sense is either
960 * forward (=1), reverse (=-1), both (=2), or unknown (=0).  Error is returned
961 * if first entity is not a gedge or second entity is not a gface.
962 * @param gedge Gedge whose sense is being queried.
963 * @param gface Gface gedge is being queried with respect to
964 */
965int32_t
966TSTTG_CGM::CgmGeom_impl::getGtangentSense (
967  /*in*/ void* gedge,
968  /*in*/ void* gface ) 
969throw ( 
970  ::TSTTB::Error
971){
972    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getGtangentSense)
973    // insert implementation here
974  int32_t retval = TSTTG_getGtangentSense (tsttgInstance, 
975                                           gedge,
976                                           gface);
977  PROCESS_ERROR;
978  return retval;
979    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getGtangentSense)
980}
981
982/**
983 * Return the sense of a gedge with respect to a specified order of
984 * vertices bounding the gedge.  Sense is either forward (=1), reverse (=-1),
985 * or unknown (=0).  Error is returned if any gentities are not the expected
986 * type or if the gedge is bounded by only one gvertex (in this case, use
987 * getGtangentSense).
988 * @param gedge Gedge whose sense is being queried.
989 * @param gvertex1 First gvertex
990 * @param gvertex2 Second gvertex
991 */
992int32_t
993TSTTG_CGM::CgmGeom_impl::getGvertexTangentSense (
994  /*in*/ void* gedge,
995  /*in*/ void* gvertex1,
996  /*in*/ void* gvertex2 ) 
997throw ( 
998  ::TSTTB::Error
999){
1000    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getGvertexTangentSense)
1001    // insert implementation here
1002  int32_t retval = TSTTG_getGvertexTangentSense (tsttgInstance, 
1003                                                 gedge,
1004                                                 gvertex1,
1005                                                 gvertex2);
1006  PROCESS_ERROR;
1007  return retval;
1008    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getGvertexTangentSense)
1009}
1010
1011/**
1012 * Return whether a given gentity is parametric or not.  If a gentity
1013 * is not parametric, all of the following functions will return an error
1014 * when called on that entity.
1015 * @param gentity_handle Gentity being queried.
1016 */
1017int32_t
1018TSTTG_CGM::CgmGeom_impl::gentityIsParametric (
1019  /*in*/ void* gentity_handle ) 
1020throw ( 
1021  ::TSTTB::Error
1022){
1023    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.gentityIsParametric)
1024    // insert implementation here
1025  int32_t retval = TSTTG_gentityIsParametric (tsttgInstance, 
1026                                              gentity_handle);
1027  PROCESS_ERROR;
1028  return retval;
1029    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.gentityIsParametric)
1030}
1031
1032/**
1033 * Given sets of parametric coordinates, return the corresponding real
1034 * space coordinates on the gentities.  Input and output coordinates are
1035 * interleaved.
1036 * @param gentity_handles Gentities being queried.
1037 * @param uv Input parametric coordinates
1038 * @param xyz Output real space coordinates
1039 */
1040void
1041TSTTG_CGM::CgmGeom_impl::gentityUvToXyz (
1042  /*in*/ ::sidl::array<void*> gentity_handles,
1043  /*in*/ int32_t gentity_handles_size,
1044  /*in*/ ::sidl::array<double> uv,
1045  /*in*/ int32_t uv_size,
1046  /*inout*/ ::sidl::array<double>& coordinates,
1047  /*out*/ int32_t& coordinates_size ) 
1048throw ( 
1049  ::TSTTB::Error
1050){
1051    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.gentityUvToXyz)
1052    // insert implementation here
1053  CREATE_TEMP_ARRAY(double, coordinates);
1054 
1055  TSTTG_gentityUvToXyz (tsttgInstance, 
1056                        (const void **) TEMP_ARRAY_IN(gentity_handles),
1057                        TEMP_ARRAY_IN(uv),
1058                        TEMP_ARRAY_INOUT(coordinates));
1059  PROCESS_ERROR;
1060
1061  ASSIGN_ARRAY(coordinates);
1062    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.gentityUvToXyz)
1063}
1064
1065/**
1066 * Given sets of real space coordinates, return the corresponding
1067 * parametric coordinates on the gentities.  Input and output coordinates
1068 * are interleaved.
1069 * @param gentity_handles Gentities being queried.
1070 * @param xyz Input real space coordinates
1071 * @param uv Output parametric coordinates
1072 */
1073void
1074TSTTG_CGM::CgmGeom_impl::gentityXyzToUv (
1075  /*in*/ ::sidl::array<void*> gentity_handles,
1076  /*in*/ int32_t gentity_handles_size,
1077  /*in*/ ::sidl::array<double> coordinates,
1078  /*in*/ int32_t coordinates_size,
1079  /*inout*/ ::sidl::array<double>& uv,
1080  /*out*/ int32_t& uv_size ) 
1081throw ( 
1082  ::TSTTB::Error
1083){
1084    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.gentityXyzToUv)
1085    // insert implementation here
1086  CREATE_TEMP_ARRAY(double, uv);
1087 
1088  TSTTG_gentityXyzToUv (tsttgInstance, 
1089                        (const void **) TEMP_ARRAY_IN(gentity_handles),
1090                        TEMP_ARRAY_IN(coordinates),
1091                        TEMP_ARRAY_INOUT(uv));
1092  PROCESS_ERROR;
1093
1094  ASSIGN_ARRAY(uv);
1095    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.gentityXyzToUv)
1096}
1097
1098/**
1099 * Return the uv range of the specified gentities.  Parameters are interleaved.
1100 * @param gentity_handles Gentities being queried.
1101 * @param uv_min Minimum parameters of gentities, interleaved
1102 * @param uv_max Maximum parameters of gentities, interleaved
1103 */
1104void
1105TSTTG_CGM::CgmGeom_impl::gentityUvRange (
1106  /*in*/ ::sidl::array<void*> gentity_handles,
1107  /*in*/ int32_t gentity_handles_size,
1108  /*inout*/ ::sidl::array<double>& uv_min,
1109  /*out*/ int32_t& uv_min_size,
1110  /*inout*/ ::sidl::array<double>& uv_max,
1111  /*out*/ int32_t& uv_max_size ) 
1112throw ( 
1113  ::TSTTB::Error
1114){
1115    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.gentityUvRange)
1116    // insert implementation here
1117  CREATE_TEMP_ARRAY(double, uv_max);
1118  CREATE_TEMP_ARRAY(double, uv_min);
1119 
1120  TSTTG_gentityUvRange (tsttgInstance, 
1121                        (const void **) TEMP_ARRAY_IN(gentity_handles),
1122                        TEMP_ARRAY_INOUT(uv_min),
1123                        TEMP_ARRAY_INOUT(uv_max));
1124  PROCESS_ERROR;
1125
1126  ASSIGN_ARRAY(uv_max);
1127  ASSIGN_ARRAY(uv_min);
1128    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.gentityUvRange)
1129}
1130
1131/**
1132 * Given source gentities, parametric positions on those gentities, and
1133 * bounding gentities, return the parametric positions on the bounding
1134 * gentities.  If a source gentity is a gvertex, parametric positions for
1135 * that entry are ignored.  In cases where multiple source entities are
1136 * input, two input and output parameters per gentity is assumed, even if
1137 * input consists only of gedges or gvertices.
1138 * @param src_gentity_handles Source gentities
1139 * @param src_uv Uv positions on source gentities
1140 * @param trg_gentity_handles Target gentities
1141 * @param trg_uv Uv positions on target gentities
1142 */
1143void
1144TSTTG_CGM::CgmGeom_impl::Greparam_edge_face (
1145  /*in*/ ::sidl::array<void*> src_gentity_handles,
1146  /*in*/ int32_t src_gentity_handles_size,
1147  /*in*/ ::sidl::array<double> src_uv,
1148  /*in*/ int32_t src_uv_size,
1149  /*in*/ ::sidl::array<void*> trg_gentity_handles,
1150  /*in*/ int32_t trg_gentity_handles_size,
1151  /*in*/ ::sidl::array<double> trg_uv,
1152  /*in*/ int32_t trg_uv_size ) 
1153throw ( 
1154  ::TSTTB::Error
1155){
1156    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.Greparam_edge_face)
1157    // insert implementation here
1158  TSTTG_Greparam_edge_face (tsttgInstance, 
1159                            TEMP_ARRAY_IN(src_gentity_handles),
1160                            TEMP_ARRAY_IN(src_uv),
1161                            TEMP_ARRAY_IN(trg_gentity_handles),
1162                            TEMP_ARRAY_IN(trg_uv));
1163  PROCESS_ERROR;
1164    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.Greparam_edge_face)
1165}
1166
1167/**
1168 * Return the normals at specified uv positions on gfaces.  If any
1169 * gentity input is not a face, returns error.  Input parameters and
1170 * output normals are interleaved.
1171 * @param gface_handles The entities being queried
1172 * @param parameters The uv parameters of points being queried, interleaved
1173 * @param normals Normals at specified points, interleaved
1174 */
1175void
1176TSTTG_CGM::CgmGeom_impl::gentityNormalUv (
1177  /*in*/ ::sidl::array<void*> gface_handles,
1178  /*in*/ int32_t gface_handles_size,
1179  /*in*/ ::sidl::array<double> parameters,
1180  /*in*/ int32_t parameters_size,
1181  /*inout*/ ::sidl::array<double>& normals,
1182  /*in*/ int32_t normals_size ) 
1183throw ( 
1184  ::TSTTB::Error
1185){
1186    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.gentityNormalUv)
1187    // insert implementation here
1188  CREATE_TEMP_ARRAY(double, normals);
1189 
1190  TSTTG_gentityNormalUv (tsttgInstance, 
1191                         (const void **) TEMP_ARRAY_IN(gface_handles),
1192                         TEMP_ARRAY_IN(parameters),
1193                         TEMP_ARRAY_INOUT(normals));
1194  PROCESS_ERROR;
1195
1196  ASSIGN_ARRAY(normals);
1197    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.gentityNormalUv)
1198}
1199
1200/**
1201 * Return the tangents at specified u positions on gedges.  If any
1202 * gentity input is not a face, returns error.  Output normals are
1203 * interleaved.
1204 * @param gentity_handles The gedges being queried
1205 * @param parameters The u parameters of points being queried
1206 * @param tangents Tangents at specified points, interleaved
1207 */
1208void
1209TSTTG_CGM::CgmGeom_impl::gentityTangentU (
1210  /*in*/ ::sidl::array<void*> gedge_handles,
1211  /*in*/ int32_t gedge_handles_size,
1212  /*in*/ ::sidl::array<double> parameters,
1213  /*in*/ int32_t parameters_size,
1214  /*inout*/ ::sidl::array<double>& tangents,
1215  /*out*/ int32_t& tangents_size ) 
1216throw ( 
1217  ::TSTTB::Error
1218){
1219    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.gentityTangentU)
1220    // insert implementation here
1221  CREATE_TEMP_ARRAY(double, tangents);
1222 
1223  TSTTG_gentityTangentU (tsttgInstance, 
1224                         (const void **) TEMP_ARRAY_IN(gedge_handles),
1225                         TEMP_ARRAY_IN(parameters),
1226                         TEMP_ARRAY_INOUT(tangents));
1227  PROCESS_ERROR;
1228
1229  ASSIGN_ARRAY(tangents);
1230    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.gentityTangentU)
1231}
1232
1233/**
1234 * Method:  getData[]
1235 */
1236void
1237TSTTG_CGM::CgmGeom_impl::getData (
1238  /*in*/ void* entity_handle,
1239  /*in*/ void* tag_handle,
1240  /*inout*/ ::sidl::array<char>& tag_value,
1241  /*out*/ int32_t& tag_value_size ) 
1242throw ( 
1243  ::TSTTB::Error
1244){
1245    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getData)
1246    // insert implementation here
1247  CREATE_TEMP_TAG_ARRAY(tag_value);
1248 
1249  TSTTG_getData (tsttgInstance,
1250                 entity_handle,
1251                 tag_handle,
1252                 TEMP_ARRAY_INOUT(tag_value));
1253  PROCESS_ERROR;
1254
1255  ASSIGN_TAG_ARRAY(tag_value);
1256    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getData)
1257}
1258
1259/**
1260 * Method:  getIntData[]
1261 */
1262int32_t
1263TSTTG_CGM::CgmGeom_impl::getIntData (
1264  /*in*/ void* entity_handle,
1265  /*in*/ void* tag_handle ) 
1266throw ( 
1267  ::TSTTB::Error
1268){
1269    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getIntData)
1270    // insert implementation here
1271  int32_t retval = TSTTG_getIntData(tsttgInstance,
1272                                    entity_handle,
1273                                    tag_handle );
1274  PROCESS_ERROR;
1275  return retval;
1276    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getIntData)
1277}
1278
1279/**
1280 * Method:  getDblData[]
1281 */
1282double
1283TSTTG_CGM::CgmGeom_impl::getDblData (
1284  /*in*/ void* entity_handle,
1285  /*in*/ void* tag_handle ) 
1286throw ( 
1287  ::TSTTB::Error
1288){
1289    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getDblData)
1290    // insert implementation here
1291  double retval = TSTTG_getDblData(tsttgInstance,
1292                                   entity_handle,
1293                                   tag_handle ); 
1294  PROCESS_ERROR;
1295  return retval;
1296    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getDblData)
1297}
1298
1299/**
1300 * Method:  getEHData[]
1301 */
1302void*
1303TSTTG_CGM::CgmGeom_impl::getEHData (
1304  /*in*/ void* entity_handle,
1305  /*in*/ void* tag_handle ) 
1306throw ( 
1307  ::TSTTB::Error
1308){
1309    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getEHData)
1310    // insert implementation here
1311  void *retval = TSTTG_getEHData(tsttgInstance,
1312                                 entity_handle,
1313                                 tag_handle );
1314  PROCESS_ERROR;
1315  return retval;
1316    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getEHData)
1317}
1318
1319/**
1320 * Method:  setData[]
1321 */
1322void
1323TSTTG_CGM::CgmGeom_impl::setData (
1324  /*in*/ void* entity_handle,
1325  /*in*/ void* tag_handle,
1326  /*in*/ ::sidl::array<char> tag_value,
1327  /*in*/ int32_t tag_value_size ) 
1328throw ( 
1329  ::TSTTB::Error
1330){
1331    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.setData)
1332    // insert implementation here
1333  TSTTG_setData(tsttgInstance, 
1334                entity_handle,
1335                tag_handle, 
1336                TEMP_TAG_ARRAY_IN(tag_value));
1337  PROCESS_ERROR;
1338    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.setData)
1339}
1340
1341/**
1342 * Method:  setIntData[]
1343 */
1344void
1345TSTTG_CGM::CgmGeom_impl::setIntData (
1346  /*in*/ void* entity_handle,
1347  /*in*/ void* tag_handle,
1348  /*in*/ int32_t tag_value ) 
1349throw ( 
1350  ::TSTTB::Error
1351){
1352    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.setIntData)
1353    // insert implementation here
1354  TSTTG_setIntData (tsttgInstance,
1355                    entity_handle,
1356                    tag_handle,
1357                    tag_value );
1358  PROCESS_ERROR;
1359    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.setIntData)
1360}
1361
1362/**
1363 * Method:  setDblData[]
1364 */
1365void
1366TSTTG_CGM::CgmGeom_impl::setDblData (
1367  /*in*/ void* entity_handle,
1368  /*in*/ void* tag_handle,
1369  /*in*/ double tag_value ) 
1370throw ( 
1371  ::TSTTB::Error
1372){
1373    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.setDblData)
1374    // insert implementation here
1375  TSTTG_setDblData (tsttgInstance,
1376                    entity_handle,
1377                    tag_handle,
1378                    tag_value );
1379  PROCESS_ERROR;
1380    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.setDblData)
1381}
1382
1383/**
1384 * Method:  setEHData[]
1385 */
1386void
1387TSTTG_CGM::CgmGeom_impl::setEHData (
1388  /*in*/ void* entity_handle,
1389  /*in*/ void* tag_handle,
1390  /*in*/ void* tag_value ) 
1391throw ( 
1392  ::TSTTB::Error
1393){
1394    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.setEHData)
1395    // insert implementation here
1396  TSTTG_setEHData (tsttgInstance,
1397                   entity_handle,
1398                   tag_handle,
1399                   tag_value );
1400  PROCESS_ERROR;
1401    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.setEHData)
1402}
1403
1404/**
1405 * Method:  getAllTags[]
1406 */
1407void
1408TSTTG_CGM::CgmGeom_impl::getAllTags (
1409  /*in*/ void* entity_handle,
1410  /*inout*/ ::sidl::array<void*>& tag_handles,
1411  /*out*/ int32_t& tag_handles_size ) 
1412throw ( 
1413  ::TSTTB::Error
1414){
1415    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getAllTags)
1416    // insert implementation here
1417  CREATE_TEMP_ARRAY(void*, tag_handles);
1418 
1419  TSTTG_getAllTags(tsttgInstance, entity_handle, 
1420                   TEMP_ARRAY_INOUT(tag_handles));
1421  PROCESS_ERROR;
1422
1423  ASSIGN_ARRAY(tag_handles);
1424    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getAllTags)
1425}
1426
1427/**
1428 * Method:  rmvTag[]
1429 */
1430void
1431TSTTG_CGM::CgmGeom_impl::rmvTag (
1432  /*in*/ void* entity_handle,
1433  /*in*/ void* tag_handle ) 
1434throw ( 
1435  ::TSTTB::Error
1436){
1437    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.rmvTag)
1438    // insert implementation here
1439  TSTTG_rmvTag (tsttgInstance,
1440                entity_handle,
1441                tag_handle );
1442  PROCESS_ERROR;
1443    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.rmvTag)
1444}
1445
1446/**
1447 * Method:  createEntSet[]
1448 */
1449void
1450TSTTG_CGM::CgmGeom_impl::createEntSet (
1451  /*in*/ bool isList,
1452  /*out*/ void*& entity_set ) 
1453throw ( 
1454  ::TSTTB::Error
1455){
1456    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.createEntSet)
1457    // insert implementation here
1458  TSTTG_createEntSet(tsttgInstance, isList, &entity_set);
1459  PROCESS_ERROR;
1460    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.createEntSet)
1461}
1462
1463/**
1464 * Method:  destroyEntSet[]
1465 */
1466void
1467TSTTG_CGM::CgmGeom_impl::destroyEntSet (
1468  /*in*/ void* entity_set ) 
1469throw ( 
1470  ::TSTTB::Error
1471){
1472    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.destroyEntSet)
1473    // insert implementation here
1474  TSTTG_destroyEntSet(tsttgInstance, entity_set);
1475  PROCESS_ERROR;
1476    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.destroyEntSet)
1477}
1478
1479/**
1480 * Method:  isList[]
1481 */
1482bool
1483TSTTG_CGM::CgmGeom_impl::isList (
1484  /*in*/ void* entity_set ) 
1485throw ( 
1486  ::TSTTB::Error
1487){
1488    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.isList)
1489    // insert implementation here
1490  bool retval = TSTTG_isList(tsttgInstance, entity_set);
1491  PROCESS_ERROR;
1492  return retval;
1493    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.isList)
1494}
1495
1496/**
1497 * Method:  getNumEntSets[]
1498 */
1499int32_t
1500TSTTG_CGM::CgmGeom_impl::getNumEntSets (
1501  /*in*/ void* entity_set,
1502  /*in*/ int32_t num_hops ) 
1503throw ( 
1504  ::TSTTB::Error
1505){
1506    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getNumEntSets)
1507    // insert implementation here
1508  int32_t retval = TSTTG_getNumEntSets(tsttgInstance, entity_set, num_hops);
1509  PROCESS_ERROR;
1510  return retval;
1511    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getNumEntSets)
1512}
1513
1514/**
1515 * Method:  getEntSets[]
1516 */
1517void
1518TSTTG_CGM::CgmGeom_impl::getEntSets (
1519  /*in*/ void* entity_set,
1520  /*in*/ int32_t num_hops,
1521  /*inout*/ ::sidl::array<void*>& contained_entset_handles,
1522  /*out*/ int32_t& contained_entset_handles_size ) 
1523throw ( 
1524  ::TSTTB::Error
1525){
1526    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getEntSets)
1527    // insert implementation here
1528  CREATE_TEMP_ARRAY(void*, contained_entset_handles);
1529
1530  TSTTG_getEntSets(tsttgInstance, entity_set, num_hops, 
1531                   TEMP_ARRAY_INOUT(contained_entset_handles));
1532  PROCESS_ERROR;
1533  ASSIGN_ARRAY(contained_entset_handles);
1534    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getEntSets)
1535}
1536
1537/**
1538 * Method:  addEntToSet[]
1539 */
1540void
1541TSTTG_CGM::CgmGeom_impl::addEntToSet (
1542  /*in*/ void* entity_handle,
1543  /*inout*/ void*& entity_set ) 
1544throw ( 
1545  ::TSTTB::Error
1546){
1547    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.addEntToSet)
1548    // insert implementation here
1549  TSTTG_addEntToSet (tsttgInstance,
1550                     entity_handle,
1551                     &entity_set);
1552  PROCESS_ERROR;
1553    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.addEntToSet)
1554}
1555
1556/**
1557 * Method:  rmvEntFromSet[]
1558 */
1559void
1560TSTTG_CGM::CgmGeom_impl::rmvEntFromSet (
1561  /*in*/ void* entity_handle,
1562  /*inout*/ void*& entity_set ) 
1563throw ( 
1564  ::TSTTB::Error
1565){
1566    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.rmvEntFromSet)
1567    // insert implementation here
1568  TSTTG_rmvEntFromSet (tsttgInstance,
1569                       entity_handle,
1570                       &entity_set );
1571  PROCESS_ERROR;
1572    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.rmvEntFromSet)
1573}
1574
1575/**
1576 * Method:  addEntArrToSet[]
1577 */
1578void
1579TSTTG_CGM::CgmGeom_impl::addEntArrToSet (
1580  /*in*/ ::sidl::array<void*> entity_handles,
1581  /*in*/ int32_t entity_handles_size,
1582  /*inout*/ void*& entity_set ) 
1583throw ( 
1584  ::TSTTB::Error
1585){
1586    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.addEntArrToSet)
1587    // insert implementation here
1588  entity_handles.addRef();
1589  void **tmp_ptr1 = entity_handles._get_ior()->d_firstElement;
1590    //void **tmp_ptr3 = entity_handles._get_ior()->d_firstElement;
1591  TSTTG_addEntArrToSet(tsttgInstance, tmp_ptr1,
1592                       entity_handles_size,
1593                       &entity_set);
1594  PROCESS_ERROR;
1595    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.addEntArrToSet)
1596}
1597
1598/**
1599 * Method:  rmvEntArrFromSet[]
1600 */
1601void
1602TSTTG_CGM::CgmGeom_impl::rmvEntArrFromSet (
1603  /*in*/ ::sidl::array<void*> entity_handles,
1604  /*in*/ int32_t entity_handles_size,
1605  /*inout*/ void*& entity_set ) 
1606throw ( 
1607  ::TSTTB::Error
1608){
1609    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.rmvEntArrFromSet)
1610    // insert implementation here
1611  TSTTG_rmvEntArrFromSet(tsttgInstance, TEMP_ARRAY_IN(entity_handles), 
1612                         &entity_set);
1613  PROCESS_ERROR;
1614    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.rmvEntArrFromSet)
1615}
1616
1617/**
1618 * Method:  addEntSet[]
1619 */
1620void
1621TSTTG_CGM::CgmGeom_impl::addEntSet (
1622  /*in*/ void* entity_set_to_add,
1623  /*inout*/ void*& entity_set_handle ) 
1624throw ( 
1625  ::TSTTB::Error
1626){
1627    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.addEntSet)
1628    // insert implementation here
1629  TSTTG_addEntSet(tsttgInstance, entity_set_to_add, 
1630                  &entity_set_handle);
1631  PROCESS_ERROR;
1632    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.addEntSet)
1633}
1634
1635/**
1636 * Method:  rmvEntSet[]
1637 */
1638void
1639TSTTG_CGM::CgmGeom_impl::rmvEntSet (
1640  /*in*/ void* entity_set_to_remove,
1641  /*inout*/ void*& entity_set_handle ) 
1642throw ( 
1643  ::TSTTB::Error
1644){
1645    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.rmvEntSet)
1646    // insert implementation here
1647  TSTTG_rmvEntSet (tsttgInstance,
1648                   entity_set_to_remove,
1649                   &entity_set_handle );
1650  PROCESS_ERROR;
1651    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.rmvEntSet)
1652}
1653
1654/**
1655 * Method:  isEntContained[]
1656 */
1657bool
1658TSTTG_CGM::CgmGeom_impl::isEntContained (
1659  /*in*/ void* containing_entity_set,
1660  /*in*/ void* entity_handle ) 
1661throw ( 
1662  ::TSTTB::Error
1663){
1664  // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.isEntContained)
1665  // insert implementation here
1666  bool retval = TSTTG_isEntContained(tsttgInstance,
1667                                     containing_entity_set,
1668                                     entity_handle);
1669  PROCESS_ERROR;
1670  return retval;
1671  // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.isEntContained)
1672}
1673
1674/**
1675 * Method:  isEntSetContained[]
1676 */
1677bool
1678TSTTG_CGM::CgmGeom_impl::isEntSetContained (
1679  /*in*/ void* containing_entity_set,
1680  /*in*/ void* contained_entity_set ) 
1681throw ( 
1682  ::TSTTB::Error
1683){
1684  // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.isEntSetContained)
1685  // insert implementation here
1686  bool retval = TSTTG_isEntSetContained(tsttgInstance,
1687                                        containing_entity_set,
1688                                        contained_entity_set);
1689  PROCESS_ERROR;
1690  return retval;
1691  // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.isEntSetContained)
1692}
1693
1694/**
1695 * Method:  subtract[]
1696 */
1697void
1698TSTTG_CGM::CgmGeom_impl::subtract (
1699  /*in*/ void* entity_set_1,
1700  /*in*/ void* entity_set_2,
1701  /*out*/ void*& result_entity_set ) 
1702throw ( 
1703  ::TSTTB::Error
1704){
1705    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.subtract)
1706    // insert implementation here
1707  TSTTG_subtract(tsttgInstance, entity_set_1, entity_set_2, &result_entity_set);
1708  PROCESS_ERROR;
1709    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.subtract)
1710}
1711
1712/**
1713 * Method:  intersect[]
1714 */
1715void
1716TSTTG_CGM::CgmGeom_impl::intersect (
1717  /*in*/ void* entity_set_1,
1718  /*in*/ void* entity_set_2,
1719  /*out*/ void*& result_entity_set ) 
1720throw ( 
1721  ::TSTTB::Error
1722){
1723    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.intersect)
1724    // insert implementation here
1725  TSTTG_intersect(tsttgInstance, entity_set_1, entity_set_2, &result_entity_set);
1726  PROCESS_ERROR;
1727    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.intersect)
1728}
1729
1730/**
1731 * Method:  unite[]
1732 */
1733void
1734TSTTG_CGM::CgmGeom_impl::unite (
1735  /*in*/ void* entity_set_1,
1736  /*in*/ void* entity_set_2,
1737  /*out*/ void*& result_entity_set ) 
1738throw ( 
1739  ::TSTTB::Error
1740){
1741    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.unite)
1742    // insert implementation here
1743  TSTTG_unite(tsttgInstance, entity_set_1, entity_set_2, &result_entity_set);
1744  PROCESS_ERROR;
1745    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.unite)
1746}
1747
1748/**
1749 * Return the relative and absolute tolerances at the modeler level.  If
1750 * model does not have a modeler-wide tolerance, zero is returned for both
1751 * values.
1752 * @param relative_tolerance Relative tolerance for model as a whole
1753 * @param absolute_tolerance Absolute tolerance for model as a whole
1754 */
1755void
1756TSTTG_CGM::CgmGeom_impl::getGtolerance (
1757  /*out*/ double& relative_tolerance,
1758  /*out*/ double& absolute_tolerance ) 
1759throw ( 
1760  ::TSTTB::Error
1761){
1762    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getGtolerance)
1763    // insert implementation here
1764  TSTTG_getGtolerance (tsttgInstance, 
1765                       &relative_tolerance,
1766                       &absolute_tolerance);
1767  PROCESS_ERROR;
1768    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getGtolerance)
1769}
1770
1771/**
1772 * Return the relative and absolute tolerances for specified gentities.  If
1773 * a gentity does not have a specific tolerance, zero is returned for both
1774 * values.
1775 * @param gentity_handles Gentities being queried
1776 * @param relative_tolerances Relative tolerances
1777 * @param absolute_tolerances Absolute tolerances
1778 */
1779void
1780TSTTG_CGM::CgmGeom_impl::getGentityTolerance (
1781  /*in*/ ::sidl::array<void*> gentity_handles,
1782  /*in*/ int32_t gentity_handles_size,
1783  /*inout*/ ::sidl::array<double>& relative_tolerances,
1784  /*out*/ int32_t& relative_tolerances_size,
1785  /*inout*/ ::sidl::array<double>& absolute_tolerances,
1786  /*out*/ int32_t& absolute_tolerances_size ) 
1787throw ( 
1788  ::TSTTB::Error
1789){
1790    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getGentityTolerance)
1791    // insert implementation here
1792  CREATE_TEMP_ARRAY(double, absolute_tolerances);
1793  CREATE_TEMP_ARRAY(double, relative_tolerances);
1794 
1795  TSTTG_getGentityTolerance (tsttgInstance, 
1796                             (const void **) TEMP_ARRAY_IN(gentity_handles),
1797                             TEMP_ARRAY_INOUT(relative_tolerances),
1798                             TEMP_ARRAY_INOUT(absolute_tolerances));
1799  PROCESS_ERROR;
1800
1801  ASSIGN_ARRAY(absolute_tolerances);
1802  ASSIGN_ARRAY(relative_tolerances);
1803    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getGentityTolerance)
1804}
1805
1806/**
1807 * Method:  setEntSetData[]
1808 */
1809void
1810TSTTG_CGM::CgmGeom_impl::setEntSetData (
1811  /*in*/ void* entity_set,
1812  /*in*/ void* tag_handle,
1813  /*inout*/ ::sidl::array<char>& tag_value,
1814  /*in*/ int32_t tag_value_size ) 
1815throw ( 
1816  ::TSTTB::Error
1817){
1818    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.setEntSetData)
1819    // insert implementation here
1820  TSTTG_setEntSetData(tsttgInstance, entity_set, tag_handle,
1821                      TEMP_TAG_ARRAY_IN(tag_value));
1822  PROCESS_ERROR;
1823    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.setEntSetData)
1824}
1825
1826/**
1827 * Method:  setEntSetIntData[]
1828 */
1829void
1830TSTTG_CGM::CgmGeom_impl::setEntSetIntData (
1831  /*in*/ void* entity_set,
1832  /*in*/ void* tag_handle,
1833  /*in*/ int32_t tag_value ) 
1834throw ( 
1835  ::TSTTB::Error
1836){
1837    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.setEntSetIntData)
1838    // insert implementation here
1839  TSTTG_setEntSetIntData (tsttgInstance,
1840                          entity_set,
1841                          tag_handle,
1842                          tag_value );
1843  PROCESS_ERROR;
1844    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.setEntSetIntData)
1845}
1846
1847/**
1848 * Method:  setEntSetDblData[]
1849 */
1850void
1851TSTTG_CGM::CgmGeom_impl::setEntSetDblData (
1852  /*in*/ void* entity_set,
1853  /*in*/ void* tag_handle,
1854  /*in*/ double tag_value ) 
1855throw ( 
1856  ::TSTTB::Error
1857){
1858    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.setEntSetDblData)
1859    // insert implementation here
1860  TSTTG_setEntSetDblData (tsttgInstance,
1861                          entity_set,
1862                          tag_handle,
1863                          tag_value );
1864  PROCESS_ERROR;
1865    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.setEntSetDblData)
1866}
1867
1868/**
1869 * Method:  setEntSetEHData[]
1870 */
1871void
1872TSTTG_CGM::CgmGeom_impl::setEntSetEHData (
1873  /*in*/ void* entity_set,
1874  /*in*/ void* tag_handle,
1875  /*in*/ void* tag_value ) 
1876throw ( 
1877  ::TSTTB::Error
1878){
1879    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.setEntSetEHData)
1880    // insert implementation here
1881  TSTTG_setEntSetEHData (tsttgInstance,
1882                         entity_set,
1883                         tag_handle,
1884                         tag_value );
1885  PROCESS_ERROR;
1886    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.setEntSetEHData)
1887}
1888
1889/**
1890 * Method:  getEntSetData[]
1891 */
1892void
1893TSTTG_CGM::CgmGeom_impl::getEntSetData (
1894  /*in*/ void* entity_set,
1895  /*in*/ void* tag_handle,
1896  /*inout*/ ::sidl::array<char>& tag_value,
1897  /*out*/ int32_t& tag_value_size ) 
1898throw ( 
1899  ::TSTTB::Error
1900){
1901    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getEntSetData)
1902    // insert implementation here
1903  CREATE_TEMP_TAG_ARRAY(tag_value);
1904 
1905  TSTTG_getEntSetData (tsttgInstance,
1906                       entity_set,
1907                       tag_handle,
1908                       TEMP_ARRAY_INOUT(tag_value));
1909  PROCESS_ERROR;
1910
1911  ASSIGN_TAG_ARRAY(tag_value);
1912    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getEntSetData)
1913}
1914
1915/**
1916 * Method:  getEntSetIntData[]
1917 */
1918int32_t
1919TSTTG_CGM::CgmGeom_impl::getEntSetIntData (
1920  /*in*/ void* entity_set,
1921  /*in*/ void* tag_handle ) 
1922throw ( 
1923  ::TSTTB::Error
1924){
1925    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getEntSetIntData)
1926    // insert implementation here
1927  int32_t retval = TSTTG_getEntSetIntData(tsttgInstance,
1928                                          entity_set,
1929                                          tag_handle );
1930  PROCESS_ERROR;
1931  return retval;
1932    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getEntSetIntData)
1933}
1934
1935/**
1936 * Method:  getEntSetDblData[]
1937 */
1938double
1939TSTTG_CGM::CgmGeom_impl::getEntSetDblData (
1940  /*in*/ void* entity_set,
1941  /*in*/ void* tag_handle ) 
1942throw ( 
1943  ::TSTTB::Error
1944){
1945    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getEntSetDblData)
1946    // insert implementation here
1947  double retval = TSTTG_getEntSetDblData(tsttgInstance,
1948                                         entity_set,
1949                                         tag_handle );
1950  PROCESS_ERROR;
1951  return retval;
1952    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getEntSetDblData)
1953}
1954
1955/**
1956 * Method:  getEntSetEHData[]
1957 */
1958void*
1959TSTTG_CGM::CgmGeom_impl::getEntSetEHData (
1960  /*in*/ void* entity_set,
1961  /*in*/ void* tag_handle ) 
1962throw ( 
1963  ::TSTTB::Error
1964){
1965    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getEntSetEHData)
1966    // insert implementation here
1967  void *retval = TSTTG_getEntSetEHData(tsttgInstance,
1968                                       entity_set,
1969                                       tag_handle );
1970  PROCESS_ERROR;
1971  return retval;
1972    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getEntSetEHData)
1973}
1974
1975/**
1976 * Method:  getAllEntSetTags[]
1977 */
1978void
1979TSTTG_CGM::CgmGeom_impl::getAllEntSetTags (
1980  /*in*/ void* entity_set,
1981  /*inout*/ ::sidl::array<void*>& tag_handles,
1982  /*out*/ int32_t& tag_handles_size ) 
1983throw ( 
1984  ::TSTTB::Error
1985){
1986    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getAllEntSetTags)
1987    // insert implementation here
1988  CREATE_TEMP_ARRAY(void*, tag_handles);
1989 
1990  TSTTG_getAllEntSetTags (tsttgInstance,
1991                          entity_set,
1992                          TEMP_ARRAY_INOUT(tag_handles));
1993  PROCESS_ERROR;
1994
1995  ASSIGN_ARRAY(tag_handles);
1996    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getAllEntSetTags)
1997}
1998
1999/**
2000 * Method:  rmvEntSetTag[]
2001 */
2002void
2003TSTTG_CGM::CgmGeom_impl::rmvEntSetTag (
2004  /*in*/ void* entity_set,
2005  /*in*/ void* tag_handle ) 
2006throw ( 
2007  ::TSTTB::Error
2008){
2009    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.rmvEntSetTag)
2010    // insert implementation here
2011  TSTTG_rmvEntSetTag (tsttgInstance,
2012                      entity_set,
2013                      tag_handle );
2014  PROCESS_ERROR;
2015    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.rmvEntSetTag)
2016}
2017
2018/**
2019 * Method:  Brick[]
2020 */
2021void
2022TSTTG_CGM::CgmGeom_impl::Brick (
2023  /*in*/ double x,
2024  /*in*/ double y,
2025  /*in*/ double z,
2026  /*out*/ void*& geom_entity ) 
2027throw ( 
2028  ::TSTTB::Error
2029){
2030    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.Brick)
2031    // insert implementation here
2032  TSTTG_Brick(tsttgInstance, x, y, z, &geom_entity);
2033  PROCESS_ERROR;
2034    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.Brick)
2035}
2036
2037/**
2038 * Method:  Cylinder[]
2039 */
2040void
2041TSTTG_CGM::CgmGeom_impl::Cylinder (
2042  /*in*/ double height,
2043  /*in*/ double major_rad,
2044  /*in*/ double minor_rad,
2045  /*out*/ void*& geom_entity ) 
2046throw ( 
2047  ::TSTTB::Error
2048){
2049    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.Cylinder)
2050    // insert implementation here
2051  TSTTG_Cylinder(tsttgInstance, height, major_rad, minor_rad, &geom_entity);
2052  PROCESS_ERROR;
2053    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.Cylinder)
2054}
2055
2056/**
2057 * Method:  Torus[]
2058 */
2059void
2060TSTTG_CGM::CgmGeom_impl::Torus (
2061  /*in*/ double major_rad,
2062  /*in*/ double minor_rad,
2063  /*out*/ void*& geom_entity ) 
2064throw ( 
2065  ::TSTTB::Error
2066){
2067    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.Torus)
2068    // insert implementation here
2069  TSTTG_Torus(tsttgInstance, major_rad, minor_rad, &geom_entity);
2070  PROCESS_ERROR;
2071    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.Torus)
2072}
2073
2074/**
2075 * Method:  addPrntChld[]
2076 */
2077void
2078TSTTG_CGM::CgmGeom_impl::addPrntChld (
2079  /*inout*/ void*& parent_entity_set,
2080  /*inout*/ void*& child_entity_set ) 
2081throw ( 
2082  ::TSTTB::Error
2083){
2084    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.addPrntChld)
2085    // insert implementation here
2086  TSTTG_addPrntChld(tsttgInstance, &parent_entity_set, &child_entity_set);
2087  PROCESS_ERROR;
2088    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.addPrntChld)
2089}
2090
2091/**
2092 * Method:  rmvPrntChld[]
2093 */
2094void
2095TSTTG_CGM::CgmGeom_impl::rmvPrntChld (
2096  /*inout*/ void*& parent_entity_set,
2097  /*inout*/ void*& child_entity_set ) 
2098throw ( 
2099  ::TSTTB::Error
2100){
2101    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.rmvPrntChld)
2102    // insert implementation here
2103  TSTTG_rmvPrntChld(tsttgInstance, &parent_entity_set, &child_entity_set);
2104  PROCESS_ERROR;
2105    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.rmvPrntChld)
2106}
2107
2108/**
2109 * Method:  isChildOf[]
2110 */
2111bool
2112TSTTG_CGM::CgmGeom_impl::isChildOf (
2113  /*in*/ void* parent_entity_set,
2114  /*in*/ void* child_entity_set ) 
2115throw ( 
2116  ::TSTTB::Error
2117){
2118    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.isChildOf)
2119    // insert implementation here
2120  bool retval = TSTTG_isChildOf(tsttgInstance, parent_entity_set, 
2121                                child_entity_set);
2122  PROCESS_ERROR;
2123  return retval;
2124    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.isChildOf)
2125}
2126
2127/**
2128 * Method:  getNumChld[]
2129 */
2130int32_t
2131TSTTG_CGM::CgmGeom_impl::getNumChld (
2132  /*in*/ void* entity_set,
2133  /*in*/ int32_t num_hops ) 
2134throw ( 
2135  ::TSTTB::Error
2136){
2137    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getNumChld)
2138    // insert implementation here
2139  int32_t retval = TSTTG_getNumChld(tsttgInstance, entity_set, num_hops);
2140  PROCESS_ERROR;
2141  return retval;
2142    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getNumChld)
2143}
2144
2145/**
2146 * Method:  getNumPrnt[]
2147 */
2148int32_t
2149TSTTG_CGM::CgmGeom_impl::getNumPrnt (
2150  /*in*/ void* entity_set,
2151  /*in*/ int32_t num_hops ) 
2152throw ( 
2153  ::TSTTB::Error
2154){
2155    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getNumPrnt)
2156    // insert implementation here
2157  int32_t retval = TSTTG_getNumPrnt(tsttgInstance, entity_set, num_hops);
2158  PROCESS_ERROR;
2159  return retval;
2160    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getNumPrnt)
2161}
2162
2163/**
2164 * Method:  getChldn[]
2165 */
2166void
2167TSTTG_CGM::CgmGeom_impl::getChldn (
2168  /*in*/ void* from_entity_set,
2169  /*in*/ int32_t num_hops,
2170  /*inout*/ ::sidl::array<void*>& child_handles,
2171  /*out*/ int32_t& child_handles_size ) 
2172throw ( 
2173  ::TSTTB::Error
2174){
2175    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getChldn)
2176    // insert implementation here
2177  CREATE_TEMP_ARRAY(void*, child_handles);
2178 
2179  TSTTG_getChldn(tsttgInstance, from_entity_set, num_hops, 
2180                 TEMP_ARRAY_INOUT(child_handles));
2181  PROCESS_ERROR;
2182
2183  ASSIGN_ARRAY(child_handles);
2184    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getChldn)
2185}
2186
2187/**
2188 * Method:  getPrnts[]
2189 */
2190void
2191TSTTG_CGM::CgmGeom_impl::getPrnts (
2192  /*in*/ void* from_entity_set,
2193  /*in*/ int32_t num_hops,
2194  /*inout*/ ::sidl::array<void*>& parent_handles,
2195  /*out*/ int32_t& parent_handles_size ) 
2196throw ( 
2197  ::TSTTB::Error
2198){
2199    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.getPrnts)
2200    // insert implementation here
2201  CREATE_TEMP_ARRAY(void*, parent_handles);
2202 
2203  TSTTG_getPrnts(tsttgInstance, from_entity_set, num_hops, 
2204                 TEMP_ARRAY_INOUT(parent_handles));
2205  PROCESS_ERROR;
2206 
2207  ASSIGN_ARRAY(parent_handles);
2208    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.getPrnts)
2209}
2210
2211/**
2212 * Method:  Move[]
2213 */
2214void
2215TSTTG_CGM::CgmGeom_impl::Move (
2216  /*inout*/ void*& geom_entity,
2217  /*in*/ double x,
2218  /*in*/ double y,
2219  /*in*/ double z ) 
2220throw ( 
2221  ::TSTTB::Error
2222){
2223    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.Move)
2224    // insert implementation here
2225  TSTTG_Move(tsttgInstance, &geom_entity, x, y, z);
2226  PROCESS_ERROR;
2227    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.Move)
2228}
2229
2230/**
2231 * Method:  Rotate[]
2232 */
2233void
2234TSTTG_CGM::CgmGeom_impl::Rotate (
2235  /*inout*/ void*& geom_entity,
2236  /*in*/ double angle,
2237  /*in*/ double axis_normal_x,
2238  /*in*/ double axis_normal_y,
2239  /*in*/ double axis_normal_z ) 
2240throw ( 
2241  ::TSTTB::Error
2242){
2243    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.Rotate)
2244    // insert implementation here
2245  TSTTG_Rotate(tsttgInstance, &geom_entity, angle, axis_normal_x, 
2246               axis_normal_y, axis_normal_z);
2247  PROCESS_ERROR;
2248    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.Rotate)
2249}
2250
2251/**
2252 * Method:  Reflect[]
2253 */
2254void
2255TSTTG_CGM::CgmGeom_impl::Reflect (
2256  /*inout*/ void*& geom_entity,
2257  /*in*/ double plane_normal_x,
2258  /*in*/ double plane_normal_y,
2259  /*in*/ double plane_normal_z ) 
2260throw ( 
2261  ::TSTTB::Error
2262){
2263    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.Reflect)
2264    // insert implementation here
2265  TSTTG_Reflect(tsttgInstance, &geom_entity, plane_normal_x, 
2266                plane_normal_y, plane_normal_z);
2267  PROCESS_ERROR;
2268    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.Reflect)
2269}
2270
2271/**
2272 * Method:  Scale[]
2273 */
2274void
2275TSTTG_CGM::CgmGeom_impl::Scale (
2276  /*inout*/ void*& geom_entity,
2277  /*in*/ double scale_x,
2278  /*in*/ double scale_y,
2279  /*in*/ double scale_z ) 
2280throw ( 
2281  ::TSTTB::Error
2282){
2283  // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.Scale)
2284  // insert implementation here
2285  TSTTG_Scale(tsttgInstance, &geom_entity, scale_x, scale_y, scale_z);
2286  PROCESS_ERROR;
2287  // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.Scale)
2288}
2289
2290/**
2291 * Method:  Copy[]
2292 */
2293void
2294TSTTG_CGM::CgmGeom_impl::Copy (
2295  /*in*/ void* geom_entity,
2296  /*out*/ void*& geom_entity2 ) 
2297throw ( 
2298  ::TSTTB::Error
2299){
2300    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.Copy)
2301    // insert implementation here
2302  TSTTG_Copy(tsttgInstance, geom_entity, &geom_entity2);
2303  PROCESS_ERROR;
2304    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.Copy)
2305}
2306
2307/**
2308 * Method:  SweepAboutAxis[]
2309 */
2310void
2311TSTTG_CGM::CgmGeom_impl::SweepAboutAxis (
2312  /*in*/ void* geom_entity,
2313  /*in*/ double angle,
2314  /*in*/ double axis_normal_x,
2315  /*in*/ double axis_normal_y,
2316  /*in*/ double axis_normal_z,
2317  /*out*/ void*& geom_entity2 ) 
2318throw ( 
2319  ::TSTTB::Error
2320){
2321    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.SweepAboutAxis)
2322    // insert implementation here
2323  TSTTG_SweepAboutAxis(tsttgInstance, geom_entity, angle,
2324                       axis_normal_x, axis_normal_y, axis_normal_z, 
2325                       &geom_entity2);
2326  PROCESS_ERROR;
2327    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.SweepAboutAxis)
2328}
2329
2330/**
2331 * Method:  Delete[]
2332 */
2333void
2334TSTTG_CGM::CgmGeom_impl::Delete (
2335  /*in*/ void* geom_entity ) 
2336throw ( 
2337  ::TSTTB::Error
2338){
2339    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.Delete)
2340    // insert implementation here
2341  TSTTG_Delete(tsttgInstance, geom_entity);
2342  PROCESS_ERROR;
2343    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.Delete)
2344}
2345
2346/**
2347 * Method:  Unite[]
2348 */
2349void
2350TSTTG_CGM::CgmGeom_impl::Unite (
2351  /*in*/ ::sidl::array<void*> geom_entities,
2352  /*in*/ int32_t geom_entities_size,
2353  /*out*/ void*& geom_entity ) 
2354throw ( 
2355  ::TSTTB::Error
2356){
2357    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.Unite)
2358    // insert implementation here
2359  TSTTG_Unite(tsttgInstance, 
2360              TEMP_ARRAY_IN(geom_entities), &geom_entity);
2361  PROCESS_ERROR;
2362    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.Unite)
2363}
2364
2365/**
2366 * Method:  Subtract[]
2367 */
2368void
2369TSTTG_CGM::CgmGeom_impl::Subtract (
2370  /*in*/ void* blank,
2371  /*in*/ void* tool,
2372  /*out*/ void*& geom_entity ) 
2373throw ( 
2374  ::TSTTB::Error
2375){
2376    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.Subtract)
2377    // insert implementation here
2378  TSTTG_Subtract(tsttgInstance, blank, tool, &geom_entity);
2379  PROCESS_ERROR;
2380    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.Subtract)
2381}
2382
2383/**
2384 * Method:  Section[]
2385 */
2386void
2387TSTTG_CGM::CgmGeom_impl::Section (
2388  /*inout*/ void*& geom_entity,
2389  /*in*/ double plane_normal_x,
2390  /*in*/ double plane_normal_y,
2391  /*in*/ double plane_normal_z,
2392  /*in*/ double offset,
2393  /*in*/ bool reverse,
2394  /*out*/ void*& geom_entity2 ) 
2395throw ( 
2396  ::TSTTB::Error
2397){
2398    // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.Section)
2399    // insert implementation here
2400  TSTTG_Section(tsttgInstance, &geom_entity, plane_normal_x, 
2401                plane_normal_y, plane_normal_z, 
2402                offset, reverse, &geom_entity2);
2403  PROCESS_ERROR;
2404    // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.Section)
2405}
2406
2407/**
2408 * Method:  Imprint[]
2409 */
2410void
2411TSTTG_CGM::CgmGeom_impl::Imprint (
2412  /*in*/ ::sidl::array<void*> geom_entities,
2413  /*in*/ int32_t geom_entities_size ) 
2414throw ( 
2415  ::TSTTB::Error
2416){
2417  // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.Imprint)
2418  // insert implementation here
2419  TSTTG_Imprint (tsttgInstance,
2420                 TEMP_ARRAY_IN(geom_entities));
2421  PROCESS_ERROR;
2422
2423  // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.Imprint)
2424}
2425
2426/**
2427 * Method:  Merge[]
2428 */
2429void
2430TSTTG_CGM::CgmGeom_impl::Merge (
2431  /*in*/ ::sidl::array<void*> geom_entities,
2432  /*in*/ int32_t geom_entities_size,
2433  /*in*/ double tolerance ) 
2434throw ( 
2435  ::TSTTB::Error
2436){
2437  // DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom.Merge)
2438  // insert implementation here
2439  TSTTG_Merge (tsttgInstance,
2440               TEMP_ARRAY_IN(geom_entities),
2441               tolerance);
2442  PROCESS_ERROR;
2443
2444  // DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom.Merge)
2445}
2446
2447
2448// DO-NOT-DELETE splicer.begin(TSTTG_CGM.CgmGeom._misc)
2449// Put miscellaneous code here
2450// call this function when you want to throw an error
2451void
2452TSTTG_CGM::CgmGeom_impl::processError() throw(::TSTTB::Error)
2453{
2454  static void *behavior_tag = NULL;
2455  static ::TSTTB::ErrorActions action = ::TSTTB::ErrorActions_THROW_ERROR;
2456
2457    // save this info before calling tag get function to get behavior
2458  std::string this_desc(TSTTG_LAST_ERROR.description);
2459  TSTTB::ErrorType this_err = (TSTTB::ErrorType)TSTTG_LAST_ERROR.error_type;
2460
2461  if (0 == behavior_tag)
2462    behavior_tag = TSTTG_getTagHandle(tsttgInstance, "Error_Behavior");
2463
2464  if (0 != behavior_tag) {
2465    ::TSTTB::ErrorActions temp = (::TSTTB::ErrorActions) TSTTG_getIntData (tsttgInstance, NULL,
2466                                                                         behavior_tag);
2467    if (TSTTB_SUCCESS == TSTTG_LAST_ERROR.error_type) action = temp;
2468  }
2469
2470  ::TSTTB::Error this_error = ::TSTTB::Error::_create();
2471  switch (action) {
2472    case ::TSTTB::ErrorActions_THROW_ERROR:
2473      this_error.set(this_err, this_desc);
2474      throw this_error;
2475      break;
2476    case ::TSTTB::ErrorActions_WARN_ONLY:
2477      std::cerr << this_desc << std::endl;
2478      break;
2479    case ::TSTTB::ErrorActions_SILENT:
2480      break;
2481  }
2482}
2483
2484// DO-NOT-DELETE splicer.end(TSTTG_CGM.CgmGeom._misc)
Note: See TracBrowser for help on using the browser.