Points&Forces (core)
Software tools facilitating the task of surveying architecture
a_coord_libTCL8_wrap.cxx
Go to the documentation of this file.
1 /* ----------------------------------------------------------------------------
2  * This file was automatically generated by SWIG (http://www.swig.org).
3  * Version 4.0.2
4  *
5  * This file is not intended to be easily readable and contains a number of
6  * coding conventions designed to improve portability and efficiency. Do not make
7  * changes to this file unless you know what you are doing--modify the SWIG
8  * interface file instead.
9  * ----------------------------------------------------------------------------- */
10 
11 
12 #ifndef SWIGTCL
13 #define SWIGTCL
14 #endif
15 
16 
17 #ifdef __cplusplus
18 /* SwigValueWrapper is described in swig.swg */
19 template<typename T> class SwigValueWrapper {
20  struct SwigMovePointer {
21  T *ptr;
22  SwigMovePointer(T *p) : ptr(p) { }
23  ~SwigMovePointer() { delete ptr; }
24  SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
25  } pointer;
26  SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
27  SwigValueWrapper(const SwigValueWrapper<T>& rhs);
28 public:
29  SwigValueWrapper() : pointer(0) { }
30  SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; }
31  operator T&() const { return *pointer.ptr; }
32  T *operator&() { return pointer.ptr; }
33 };
34 
35 template <typename T> T SwigValueInit() {
36  return T();
37 }
38 #endif
39 
40 /* -----------------------------------------------------------------------------
41  * This section contains generic SWIG labels for method/variable
42  * declarations/attributes, and other compiler dependent labels.
43  * ----------------------------------------------------------------------------- */
44 
45 /* template workaround for compilers that cannot correctly implement the C++ standard */
46 #ifndef SWIGTEMPLATEDISAMBIGUATOR
47 # if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
48 # define SWIGTEMPLATEDISAMBIGUATOR template
49 # elif defined(__HP_aCC)
50 /* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
51 /* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
52 # define SWIGTEMPLATEDISAMBIGUATOR template
53 # else
54 # define SWIGTEMPLATEDISAMBIGUATOR
55 # endif
56 #endif
57 
58 /* inline attribute */
59 #ifndef SWIGINLINE
60 # if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
61 # define SWIGINLINE inline
62 # else
63 # define SWIGINLINE
64 # endif
65 #endif
66 
67 /* attribute recognised by some compilers to avoid 'unused' warnings */
68 #ifndef SWIGUNUSED
69 # if defined(__GNUC__)
70 # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
71 # define SWIGUNUSED __attribute__ ((__unused__))
72 # else
73 # define SWIGUNUSED
74 # endif
75 # elif defined(__ICC)
76 # define SWIGUNUSED __attribute__ ((__unused__))
77 # else
78 # define SWIGUNUSED
79 # endif
80 #endif
81 
82 #ifndef SWIG_MSC_UNSUPPRESS_4505
83 # if defined(_MSC_VER)
84 # pragma warning(disable : 4505) /* unreferenced local function has been removed */
85 # endif
86 #endif
87 
88 #ifndef SWIGUNUSEDPARM
89 # ifdef __cplusplus
90 # define SWIGUNUSEDPARM(p)
91 # else
92 # define SWIGUNUSEDPARM(p) p SWIGUNUSED
93 # endif
94 #endif
95 
96 /* internal SWIG method */
97 #ifndef SWIGINTERN
98 # define SWIGINTERN static SWIGUNUSED
99 #endif
100 
101 /* internal inline SWIG method */
102 #ifndef SWIGINTERNINLINE
103 # define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
104 #endif
105 
106 /* exporting methods */
107 #if defined(__GNUC__)
108 # if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
109 # ifndef GCC_HASCLASSVISIBILITY
110 # define GCC_HASCLASSVISIBILITY
111 # endif
112 # endif
113 #endif
114 
115 #ifndef SWIGEXPORT
116 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
117 # if defined(STATIC_LINKED)
118 # define SWIGEXPORT
119 # else
120 # define SWIGEXPORT __declspec(dllexport)
121 # endif
122 # else
123 # if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
124 # define SWIGEXPORT __attribute__ ((visibility("default")))
125 # else
126 # define SWIGEXPORT
127 # endif
128 # endif
129 #endif
130 
131 /* calling conventions for Windows */
132 #ifndef SWIGSTDCALL
133 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
134 # define SWIGSTDCALL __stdcall
135 # else
136 # define SWIGSTDCALL
137 # endif
138 #endif
139 
140 /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
141 #if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
142 # define _CRT_SECURE_NO_DEPRECATE
143 #endif
144 
145 /* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
146 #if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
147 # define _SCL_SECURE_NO_DEPRECATE
148 #endif
149 
150 /* Deal with Apple's deprecated 'AssertMacros.h' from Carbon-framework */
151 #if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES)
152 # define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
153 #endif
154 
155 /* Intel's compiler complains if a variable which was never initialised is
156  * cast to void, which is a common idiom which we use to indicate that we
157  * are aware a variable isn't used. So we just silence that warning.
158  * See: https://github.com/swig/swig/issues/192 for more discussion.
159  */
160 #ifdef __INTEL_COMPILER
161 # pragma warning disable 592
162 #endif
163 
164 
165 #include <stdio.h>
166 #include <tcl.h>
167 #include <errno.h>
168 #include <stdlib.h>
169 #include <stdarg.h>
170 #include <ctype.h>
171 
172 /* -----------------------------------------------------------------------------
173  * swigrun.swg
174  *
175  * This file contains generic C API SWIG runtime support for pointer
176  * type checking.
177  * ----------------------------------------------------------------------------- */
178 
179 /* This should only be incremented when either the layout of swig_type_info changes,
180  or for whatever reason, the runtime changes incompatibly */
181 #define SWIG_RUNTIME_VERSION "4"
182 
183 /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
184 #ifdef SWIG_TYPE_TABLE
185 # define SWIG_QUOTE_STRING(x) #x
186 # define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
187 # define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
188 #else
189 # define SWIG_TYPE_TABLE_NAME
190 #endif
191 
192 /*
193  You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
194  creating a static or dynamic library from the SWIG runtime code.
195  In 99.9% of the cases, SWIG just needs to declare them as 'static'.
196 
197  But only do this if strictly necessary, ie, if you have problems
198  with your compiler or suchlike.
199 */
200 
201 #ifndef SWIGRUNTIME
202 # define SWIGRUNTIME SWIGINTERN
203 #endif
204 
205 #ifndef SWIGRUNTIMEINLINE
206 # define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
207 #endif
208 
209 /* Generic buffer size */
210 #ifndef SWIG_BUFFER_SIZE
211 # define SWIG_BUFFER_SIZE 1024
212 #endif
213 
214 /* Flags for pointer conversions */
215 #define SWIG_POINTER_DISOWN 0x1
216 #define SWIG_CAST_NEW_MEMORY 0x2
217 #define SWIG_POINTER_NO_NULL 0x4
218 
219 /* Flags for new pointer objects */
220 #define SWIG_POINTER_OWN 0x1
221 
222 
223 /*
224  Flags/methods for returning states.
225 
226  The SWIG conversion methods, as ConvertPtr, return an integer
227  that tells if the conversion was successful or not. And if not,
228  an error code can be returned (see swigerrors.swg for the codes).
229 
230  Use the following macros/flags to set or process the returning
231  states.
232 
233  In old versions of SWIG, code such as the following was usually written:
234 
235  if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) {
236  // success code
237  } else {
238  //fail code
239  }
240 
241  Now you can be more explicit:
242 
243  int res = SWIG_ConvertPtr(obj,vptr,ty.flags);
244  if (SWIG_IsOK(res)) {
245  // success code
246  } else {
247  // fail code
248  }
249 
250  which is the same really, but now you can also do
251 
252  Type *ptr;
253  int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags);
254  if (SWIG_IsOK(res)) {
255  // success code
256  if (SWIG_IsNewObj(res) {
257  ...
258  delete *ptr;
259  } else {
260  ...
261  }
262  } else {
263  // fail code
264  }
265 
266  I.e., now SWIG_ConvertPtr can return new objects and you can
267  identify the case and take care of the deallocation. Of course that
268  also requires SWIG_ConvertPtr to return new result values, such as
269 
270  int SWIG_ConvertPtr(obj, ptr,...) {
271  if (<obj is ok>) {
272  if (<need new object>) {
273  *ptr = <ptr to new allocated object>;
274  return SWIG_NEWOBJ;
275  } else {
276  *ptr = <ptr to old object>;
277  return SWIG_OLDOBJ;
278  }
279  } else {
280  return SWIG_BADOBJ;
281  }
282  }
283 
284  Of course, returning the plain '0(success)/-1(fail)' still works, but you can be
285  more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the
286  SWIG errors code.
287 
288  Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
289  allows to return the 'cast rank', for example, if you have this
290 
291  int food(double)
292  int fooi(int);
293 
294  and you call
295 
296  food(1) // cast rank '1' (1 -> 1.0)
297  fooi(1) // cast rank '0'
298 
299  just use the SWIG_AddCast()/SWIG_CheckState()
300 */
301 
302 #define SWIG_OK (0)
303 #define SWIG_ERROR (-1)
304 #define SWIG_IsOK(r) (r >= 0)
305 #define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError)
306 
307 /* The CastRankLimit says how many bits are used for the cast rank */
308 #define SWIG_CASTRANKLIMIT (1 << 8)
309 /* The NewMask denotes the object was created (using new/malloc) */
310 #define SWIG_NEWOBJMASK (SWIG_CASTRANKLIMIT << 1)
311 /* The TmpMask is for in/out typemaps that use temporal objects */
312 #define SWIG_TMPOBJMASK (SWIG_NEWOBJMASK << 1)
313 /* Simple returning values */
314 #define SWIG_BADOBJ (SWIG_ERROR)
315 #define SWIG_OLDOBJ (SWIG_OK)
316 #define SWIG_NEWOBJ (SWIG_OK | SWIG_NEWOBJMASK)
317 #define SWIG_TMPOBJ (SWIG_OK | SWIG_TMPOBJMASK)
318 /* Check, add and del mask methods */
319 #define SWIG_AddNewMask(r) (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r)
320 #define SWIG_DelNewMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r)
321 #define SWIG_IsNewObj(r) (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK))
322 #define SWIG_AddTmpMask(r) (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r)
323 #define SWIG_DelTmpMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r)
324 #define SWIG_IsTmpObj(r) (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK))
325 
326 /* Cast-Rank Mode */
327 #if defined(SWIG_CASTRANK_MODE)
328 # ifndef SWIG_TypeRank
329 # define SWIG_TypeRank unsigned long
330 # endif
331 # ifndef SWIG_MAXCASTRANK /* Default cast allowed */
332 # define SWIG_MAXCASTRANK (2)
333 # endif
334 # define SWIG_CASTRANKMASK ((SWIG_CASTRANKLIMIT) -1)
335 # define SWIG_CastRank(r) (r & SWIG_CASTRANKMASK)
336 SWIGINTERNINLINE int SWIG_AddCast(int r) {
337  return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r;
338 }
340  return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0;
341 }
342 #else /* no cast-rank mode */
343 # define SWIG_AddCast(r) (r)
344 # define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0)
345 #endif
346 
347 
348 #include <string.h>
349 
350 #ifdef __cplusplus
351 extern "C" {
352 #endif
353 
354 typedef void *(*swig_converter_func)(void *, int *);
355 typedef struct swig_type_info *(*swig_dycast_func)(void **);
356 
357 /* Structure to store information on one type */
358 typedef struct swig_type_info {
359  const char *name; /* mangled name of this type */
360  const char *str; /* human readable name of this type */
361  swig_dycast_func dcast; /* dynamic cast function down a hierarchy */
362  struct swig_cast_info *cast; /* linked list of types that can cast into this type */
363  void *clientdata; /* language specific type data */
364  int owndata; /* flag if the structure owns the clientdata */
366 
367 /* Structure to store a type and conversion function used for casting */
368 typedef struct swig_cast_info {
369  swig_type_info *type; /* pointer to type that is equivalent to this type */
370  swig_converter_func converter; /* function to cast the void pointers */
371  struct swig_cast_info *next; /* pointer to next cast in linked list */
372  struct swig_cast_info *prev; /* pointer to the previous cast */
374 
375 /* Structure used to store module information
376  * Each module generates one structure like this, and the runtime collects
377  * all of these structures and stores them in a circularly linked list.*/
378 typedef struct swig_module_info {
379  swig_type_info **types; /* Array of pointers to swig_type_info structures that are in this module */
380  size_t size; /* Number of types in this module */
381  struct swig_module_info *next; /* Pointer to next element in circularly linked list */
382  swig_type_info **type_initial; /* Array of initially generated type structures */
383  swig_cast_info **cast_initial; /* Array of initially generated casting structures */
384  void *clientdata; /* Language specific module data */
386 
387 /*
388  Compare two type names skipping the space characters, therefore
389  "char*" == "char *" and "Class<int>" == "Class<int >", etc.
390 
391  Return 0 when the two name types are equivalent, as in
392  strncmp, but skipping ' '.
393 */
394 SWIGRUNTIME int
395 SWIG_TypeNameComp(const char *f1, const char *l1,
396  const char *f2, const char *l2) {
397  for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
398  while ((*f1 == ' ') && (f1 != l1)) ++f1;
399  while ((*f2 == ' ') && (f2 != l2)) ++f2;
400  if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1;
401  }
402  return (int)((l1 - f1) - (l2 - f2));
403 }
404 
405 /*
406  Check type equivalence in a name list like <name1>|<name2>|...
407  Return 0 if equal, -1 if nb < tb, 1 if nb > tb
408 */
409 SWIGRUNTIME int
410 SWIG_TypeCmp(const char *nb, const char *tb) {
411  int equiv = 1;
412  const char* te = tb + strlen(tb);
413  const char* ne = nb;
414  while (equiv != 0 && *ne) {
415  for (nb = ne; *ne; ++ne) {
416  if (*ne == '|') break;
417  }
418  equiv = SWIG_TypeNameComp(nb, ne, tb, te);
419  if (*ne) ++ne;
420  }
421  return equiv;
422 }
423 
424 /*
425  Check type equivalence in a name list like <name1>|<name2>|...
426  Return 0 if not equal, 1 if equal
427 */
428 SWIGRUNTIME int
429 SWIG_TypeEquiv(const char *nb, const char *tb) {
430  return SWIG_TypeCmp(nb, tb) == 0 ? 1 : 0;
431 }
432 
433 /*
434  Check the typename
435 */
437 SWIG_TypeCheck(const char *c, swig_type_info *ty) {
438  if (ty) {
439  swig_cast_info *iter = ty->cast;
440  while (iter) {
441  if (strcmp(iter->type->name, c) == 0) {
442  if (iter == ty->cast)
443  return iter;
444  /* Move iter to the top of the linked list */
445  iter->prev->next = iter->next;
446  if (iter->next)
447  iter->next->prev = iter->prev;
448  iter->next = ty->cast;
449  iter->prev = 0;
450  if (ty->cast) ty->cast->prev = iter;
451  ty->cast = iter;
452  return iter;
453  }
454  iter = iter->next;
455  }
456  }
457  return 0;
458 }
459 
460 /*
461  Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison
462 */
465  if (ty) {
466  swig_cast_info *iter = ty->cast;
467  while (iter) {
468  if (iter->type == from) {
469  if (iter == ty->cast)
470  return iter;
471  /* Move iter to the top of the linked list */
472  iter->prev->next = iter->next;
473  if (iter->next)
474  iter->next->prev = iter->prev;
475  iter->next = ty->cast;
476  iter->prev = 0;
477  if (ty->cast) ty->cast->prev = iter;
478  ty->cast = iter;
479  return iter;
480  }
481  iter = iter->next;
482  }
483  }
484  return 0;
485 }
486 
487 /*
488  Cast a pointer up an inheritance hierarchy
489 */
490 SWIGRUNTIMEINLINE void *
491 SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) {
492  return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory);
493 }
494 
495 /*
496  Dynamic pointer casting. Down an inheritance hierarchy
497 */
500  swig_type_info *lastty = ty;
501  if (!ty || !ty->dcast) return ty;
502  while (ty && (ty->dcast)) {
503  ty = (*ty->dcast)(ptr);
504  if (ty) lastty = ty;
505  }
506  return lastty;
507 }
508 
509 /*
510  Return the name associated with this type
511 */
512 SWIGRUNTIMEINLINE const char *
514  return ty->name;
515 }
516 
517 /*
518  Return the pretty name associated with this type,
519  that is an unmangled type name in a form presentable to the user.
520 */
521 SWIGRUNTIME const char *
523  /* The "str" field contains the equivalent pretty names of the
524  type, separated by vertical-bar characters. We choose
525  to print the last name, as it is often (?) the most
526  specific. */
527  if (!type) return NULL;
528  if (type->str != NULL) {
529  const char *last_name = type->str;
530  const char *s;
531  for (s = type->str; *s; s++)
532  if (*s == '|') last_name = s+1;
533  return last_name;
534  }
535  else
536  return type->name;
537 }
538 
539 /*
540  Set the clientdata field for a type
541 */
542 SWIGRUNTIME void
544  swig_cast_info *cast = ti->cast;
545  /* if (ti->clientdata == clientdata) return; */
546  ti->clientdata = clientdata;
547 
548  while (cast) {
549  if (!cast->converter) {
550  swig_type_info *tc = cast->type;
551  if (!tc->clientdata) {
553  }
554  }
555  cast = cast->next;
556  }
557 }
558 SWIGRUNTIME void
561  ti->owndata = 1;
562 }
563 
564 /*
565  Search for a swig_type_info structure only by mangled name
566  Search is a O(log #types)
567 
568  We start searching at module start, and finish searching when start == end.
569  Note: if start == end at the beginning of the function, we go all the way around
570  the circular list.
571 */
574  swig_module_info *end,
575  const char *name) {
576  swig_module_info *iter = start;
577  do {
578  if (iter->size) {
579  size_t l = 0;
580  size_t r = iter->size - 1;
581  do {
582  /* since l+r >= 0, we can (>> 1) instead (/ 2) */
583  size_t i = (l + r) >> 1;
584  const char *iname = iter->types[i]->name;
585  if (iname) {
586  int compare = strcmp(name, iname);
587  if (compare == 0) {
588  return iter->types[i];
589  } else if (compare < 0) {
590  if (i) {
591  r = i - 1;
592  } else {
593  break;
594  }
595  } else if (compare > 0) {
596  l = i + 1;
597  }
598  } else {
599  break; /* should never happen */
600  }
601  } while (l <= r);
602  }
603  iter = iter->next;
604  } while (iter != end);
605  return 0;
606 }
607 
608 /*
609  Search for a swig_type_info structure for either a mangled name or a human readable name.
610  It first searches the mangled names of the types, which is a O(log #types)
611  If a type is not found it then searches the human readable names, which is O(#types).
612 
613  We start searching at module start, and finish searching when start == end.
614  Note: if start == end at the beginning of the function, we go all the way around
615  the circular list.
616 */
619  swig_module_info *end,
620  const char *name) {
621  /* STEP 1: Search the name field using binary search */
622  swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name);
623  if (ret) {
624  return ret;
625  } else {
626  /* STEP 2: If the type hasn't been found, do a complete search
627  of the str field (the human readable name) */
628  swig_module_info *iter = start;
629  do {
630  size_t i = 0;
631  for (; i < iter->size; ++i) {
632  if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name)))
633  return iter->types[i];
634  }
635  iter = iter->next;
636  } while (iter != end);
637  }
638 
639  /* neither found a match */
640  return 0;
641 }
642 
643 /*
644  Pack binary data into a string
645 */
646 SWIGRUNTIME char *
647 SWIG_PackData(char *c, void *ptr, size_t sz) {
648  static const char hex[17] = "0123456789abcdef";
649  const unsigned char *u = (unsigned char *) ptr;
650  const unsigned char *eu = u + sz;
651  for (; u != eu; ++u) {
652  unsigned char uu = *u;
653  *(c++) = hex[(uu & 0xf0) >> 4];
654  *(c++) = hex[uu & 0xf];
655  }
656  return c;
657 }
658 
659 /*
660  Unpack binary data from a string
661 */
662 SWIGRUNTIME const char *
663 SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
664  unsigned char *u = (unsigned char *) ptr;
665  const unsigned char *eu = u + sz;
666  for (; u != eu; ++u) {
667  char d = *(c++);
668  unsigned char uu;
669  if ((d >= '0') && (d <= '9'))
670  uu = (unsigned char)((d - '0') << 4);
671  else if ((d >= 'a') && (d <= 'f'))
672  uu = (unsigned char)((d - ('a'-10)) << 4);
673  else
674  return (char *) 0;
675  d = *(c++);
676  if ((d >= '0') && (d <= '9'))
677  uu |= (unsigned char)(d - '0');
678  else if ((d >= 'a') && (d <= 'f'))
679  uu |= (unsigned char)(d - ('a'-10));
680  else
681  return (char *) 0;
682  *u = uu;
683  }
684  return c;
685 }
686 
687 /*
688  Pack 'void *' into a string buffer.
689 */
690 SWIGRUNTIME char *
691 SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
692  char *r = buff;
693  if ((2*sizeof(void *) + 2) > bsz) return 0;
694  *(r++) = '_';
695  r = SWIG_PackData(r,&ptr,sizeof(void *));
696  if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
697  strcpy(r,name);
698  return buff;
699 }
700 
701 SWIGRUNTIME const char *
702 SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) {
703  if (*c != '_') {
704  if (strcmp(c,"NULL") == 0) {
705  *ptr = (void *) 0;
706  return name;
707  } else {
708  return 0;
709  }
710  }
711  return SWIG_UnpackData(++c,ptr,sizeof(void *));
712 }
713 
714 SWIGRUNTIME char *
715 SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) {
716  char *r = buff;
717  size_t lname = (name ? strlen(name) : 0);
718  if ((2*sz + 2 + lname) > bsz) return 0;
719  *(r++) = '_';
720  r = SWIG_PackData(r,ptr,sz);
721  if (lname) {
722  strncpy(r,name,lname+1);
723  } else {
724  *r = 0;
725  }
726  return buff;
727 }
728 
729 SWIGRUNTIME const char *
730 SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
731  if (*c != '_') {
732  if (strcmp(c,"NULL") == 0) {
733  memset(ptr,0,sz);
734  return name;
735  } else {
736  return 0;
737  }
738  }
739  return SWIG_UnpackData(++c,ptr,sz);
740 }
741 
742 #ifdef __cplusplus
743 }
744 #endif
745 
746 /* Errors in SWIG */
747 #define SWIG_UnknownError -1
748 #define SWIG_IOError -2
749 #define SWIG_RuntimeError -3
750 #define SWIG_IndexError -4
751 #define SWIG_TypeError -5
752 #define SWIG_DivisionByZero -6
753 #define SWIG_OverflowError -7
754 #define SWIG_SyntaxError -8
755 #define SWIG_ValueError -9
756 #define SWIG_SystemError -10
757 #define SWIG_AttributeError -11
758 #define SWIG_MemoryError -12
759 #define SWIG_NullReferenceError -13
760 
761 
762 
763 /* -----------------------------------------------------------------------------
764  * error manipulation
765  * ----------------------------------------------------------------------------- */
766 
767 SWIGINTERN const char*
769  const char* type = 0;
770  switch(code) {
771  case SWIG_MemoryError:
772  type = "MemoryError";
773  break;
774  case SWIG_IOError:
775  type = "IOError";
776  break;
777  case SWIG_RuntimeError:
778  type = "RuntimeError";
779  break;
780  case SWIG_IndexError:
781  type = "IndexError";
782  break;
783  case SWIG_TypeError:
784  type = "TypeError";
785  break;
786  case SWIG_DivisionByZero:
787  type = "ZeroDivisionError";
788  break;
789  case SWIG_OverflowError:
790  type = "OverflowError";
791  break;
792  case SWIG_SyntaxError:
793  type = "SyntaxError";
794  break;
795  case SWIG_ValueError:
796  type = "ValueError";
797  break;
798  case SWIG_SystemError:
799  type = "SystemError";
800  break;
801  case SWIG_AttributeError:
802  type = "AttributeError";
803  break;
804  default:
805  type = "RuntimeError";
806  }
807  return type;
808 }
809 
810 
811 SWIGINTERN void
812 SWIG_Tcl_SetErrorObj(Tcl_Interp *interp, const char *ctype, Tcl_Obj *obj)
813 {
814  Tcl_ResetResult(interp);
815  Tcl_SetObjResult(interp, obj);
816  Tcl_SetErrorCode(interp, "SWIG", ctype, NULL);
817 }
818 
819 SWIGINTERN void
820 SWIG_Tcl_SetErrorMsg(Tcl_Interp *interp, const char *ctype, const char *mesg)
821 {
822  Tcl_ResetResult(interp);
823  Tcl_SetErrorCode(interp, "SWIG", ctype, NULL);
824  Tcl_AppendResult(interp, ctype, " ", mesg, NULL);
825  /*
826  Tcl_AddErrorInfo(interp, ctype);
827  Tcl_AddErrorInfo(interp, " ");
828  Tcl_AddErrorInfo(interp, mesg);
829  */
830 }
831 
832 SWIGINTERNINLINE void
833 SWIG_Tcl_AddErrorMsg(Tcl_Interp *interp, const char* mesg)
834 {
835  Tcl_AddErrorInfo(interp, mesg);
836 }
837 
838 
839 
840 /* -----------------------------------------------------------------------------
841  * SWIG API. Portion that goes into the runtime
842  * ----------------------------------------------------------------------------- */
843 #ifdef __cplusplus
844 extern "C" {
845 #endif
846 
847 /* -----------------------------------------------------------------------------
848  * Constant declarations
849  * ----------------------------------------------------------------------------- */
850 
851 /* Constant Types */
852 #define SWIG_TCL_POINTER 4
853 #define SWIG_TCL_BINARY 5
854 
855 /* Constant information structure */
856 typedef struct swig_const_info {
857  int type;
858  const char *name;
859  long lvalue;
860  double dvalue;
861  void *pvalue;
864 
865 typedef int (*swig_wrapper)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST []);
866 typedef int (*swig_wrapper_func)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST []);
867 typedef char *(*swig_variable_func)(ClientData, Tcl_Interp *, char *, char *, int);
868 typedef void (*swig_delete_func)(ClientData);
869 
870 typedef struct swig_method {
871  const char *name;
874 
875 typedef struct swig_attribute {
876  const char *name;
880 
881 typedef struct swig_class {
882  const char *name;
885  void (*destructor)(void *);
888  struct swig_class **bases;
889  const char **base_names;
891  Tcl_HashTable hashtable;
893 
894 typedef struct swig_instance {
895  Tcl_Obj *thisptr;
896  void *thisvalue;
898  int destroy;
899  Tcl_Command cmdtok;
901 
902 /* Structure for command table */
903 typedef struct {
904  const char *name;
905  int (*wrapper)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST []);
906  ClientData clientdata;
908 
909 /* Structure for variable linking table */
910 typedef struct {
911  const char *name;
912  void *addr;
913  char * (*get)(ClientData, Tcl_Interp *, char *, char *, int);
914  char * (*set)(ClientData, Tcl_Interp *, char *, char *, int);
915 } swig_var_info;
916 
917 
918 /* -----------------------------------------------------------------------------*
919  * Install a constant object
920  * -----------------------------------------------------------------------------*/
921 
922 static Tcl_HashTable swigconstTable;
923 static int swigconstTableinit = 0;
924 
925 SWIGINTERN void
926 SWIG_Tcl_SetConstantObj(Tcl_Interp *interp, const char* name, Tcl_Obj *obj) {
927  int newobj;
928  Tcl_ObjSetVar2(interp,Tcl_NewStringObj(name,-1), NULL, obj, TCL_GLOBAL_ONLY);
929  Tcl_SetHashValue(Tcl_CreateHashEntry(&swigconstTable, name, &newobj), (ClientData) obj);
930 }
931 
932 SWIGINTERN Tcl_Obj *
933 SWIG_Tcl_GetConstantObj(const char *key) {
934  Tcl_HashEntry *entryPtr;
935  if (!swigconstTableinit) return 0;
936  entryPtr = Tcl_FindHashEntry(&swigconstTable, key);
937  if (entryPtr) {
938  return (Tcl_Obj *) Tcl_GetHashValue(entryPtr);
939  }
940  return 0;
941 }
942 
943 #ifdef __cplusplus
944 }
945 #endif
946 
947 
948 
949 /* -----------------------------------------------------------------------------
950  * tclrun.swg
951  *
952  * This file contains the runtime support for Tcl modules and includes
953  * code for managing global variables and pointer type checking.
954  * ----------------------------------------------------------------------------- */
955 
956 /* Common SWIG API */
957 
958 /* for raw pointers */
959 #define SWIG_ConvertPtr(oc, ptr, ty, flags) SWIG_Tcl_ConvertPtr(interp, oc, ptr, ty, flags)
960 #define SWIG_NewPointerObj(ptr, type, flags) SWIG_Tcl_NewPointerObj(ptr, type, flags)
961 
962 /* for raw packed data */
963 #define SWIG_ConvertPacked(obj, ptr, sz, ty) SWIG_Tcl_ConvertPacked(interp, obj, ptr, sz, ty)
964 #define SWIG_NewPackedObj(ptr, sz, type) SWIG_Tcl_NewPackedObj(ptr, sz, type)
965 
966 /* for class or struct pointers */
967 #define SWIG_ConvertInstance(obj, pptr, type, flags) SWIG_Tcl_ConvertPtr(interp, obj, pptr, type, flags)
968 #define SWIG_NewInstanceObj(thisvalue, type, flags) SWIG_Tcl_NewInstanceObj(interp, thisvalue, type, flags)
969 
970 /* for C or C++ function pointers */
971 #define SWIG_ConvertFunctionPtr(obj, pptr, type) SWIG_Tcl_ConvertPtr(interp, obj, pptr, type, 0)
972 #define SWIG_NewFunctionPtrObj(ptr, type) SWIG_Tcl_NewPointerObj(ptr, type, 0)
973 
974 /* for C++ member pointers, ie, member methods */
975 #define SWIG_ConvertMember(obj, ptr, sz, ty) SWIG_Tcl_ConvertPacked(interp,obj, ptr, sz, ty)
976 #define SWIG_NewMemberObj(ptr, sz, type) SWIG_Tcl_NewPackedObj(ptr, sz, type)
977 
978 
979 /* Runtime API */
980 
981 #define SWIG_GetModule(clientdata) SWIG_Tcl_GetModule((Tcl_Interp *) (clientdata))
982 #define SWIG_SetModule(clientdata, pointer) SWIG_Tcl_SetModule((Tcl_Interp *) (clientdata), pointer)
983 
984 
985 /* Error manipulation */
986 
987 #define SWIG_ErrorType(code) SWIG_Tcl_ErrorType(code)
988 #define SWIG_Error(code, msg) SWIG_Tcl_SetErrorMsg(interp, SWIG_Tcl_ErrorType(code), msg)
989 #define SWIG_fail goto fail
990 
991 
992 /* Tcl-specific SWIG API */
993 
994 #define SWIG_Acquire(ptr) SWIG_Tcl_Acquire(ptr)
995 #define SWIG_MethodCommand SWIG_Tcl_MethodCommand
996 #define SWIG_Disown(ptr) SWIG_Tcl_Disown(ptr)
997 #define SWIG_ConvertPtrFromString(c, ptr, ty, flags) SWIG_Tcl_ConvertPtrFromString(interp, c, ptr, ty, flags)
998 #define SWIG_MakePtr(c, ptr, ty, flags) SWIG_Tcl_MakePtr(c, ptr, ty, flags)
999 #define SWIG_PointerTypeFromString(c) SWIG_Tcl_PointerTypeFromString(c)
1000 #define SWIG_GetArgs SWIG_Tcl_GetArgs
1001 #define SWIG_GetConstantObj(key) SWIG_Tcl_GetConstantObj(key)
1002 #define SWIG_ObjectConstructor SWIG_Tcl_ObjectConstructor
1003 #define SWIG_Thisown(ptr) SWIG_Tcl_Thisown(ptr)
1004 #define SWIG_ObjectDelete SWIG_Tcl_ObjectDelete
1005 
1006 
1007 #define SWIG_TCL_DECL_ARGS_2(arg1, arg2) (Tcl_Interp *interp SWIGUNUSED, arg1, arg2)
1008 #define SWIG_TCL_CALL_ARGS_2(arg1, arg2) (interp, arg1, arg2)
1009 /* -----------------------------------------------------------------------------
1010  * pointers/data manipulation
1011  * ----------------------------------------------------------------------------- */
1012 
1013 /* For backward compatibility only */
1014 #define SWIG_POINTER_EXCEPTION 0
1015 #define SWIG_GetConstant SWIG_GetConstantObj
1016 #define SWIG_Tcl_GetConstant SWIG_Tcl_GetConstantObj
1017 
1018 #if TCL_MAJOR_VERSION >= 8 && TCL_MINOR_VERSION >= 5
1019 #define SWIG_TCL_HASHTABLE_INIT {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
1020 #else
1021 #define SWIG_TCL_HASHTABLE_INIT {0}
1022 #endif
1023 
1024 #include "assert.h"
1025 
1026 #ifdef __cplusplus
1027 extern "C" {
1028 #endif
1029 
1030 /* Object support */
1031 
1032 SWIGRUNTIME Tcl_HashTable*
1034  static Tcl_HashTable swigobjectTable;
1035  static int swigobjectTableinit = 0;
1036  if (!swigobjectTableinit) {
1037  Tcl_InitHashTable(&swigobjectTable, TCL_ONE_WORD_KEYS);
1038  swigobjectTableinit = 1;
1039  }
1040  return &swigobjectTable;
1041 }
1042 
1043 /* Acquire ownership of a pointer */
1044 SWIGRUNTIME void
1045 SWIG_Tcl_Acquire(void *ptr) {
1046  int newobj;
1047  Tcl_CreateHashEntry(SWIG_Tcl_ObjectTable(), (char *) ptr, &newobj);
1048 }
1049 
1050 SWIGRUNTIME int
1051 SWIG_Tcl_Thisown(void *ptr) {
1052  if (Tcl_FindHashEntry(SWIG_Tcl_ObjectTable(), (char *) ptr)) {
1053  return 1;
1054  }
1055  return 0;
1056 }
1057 
1058 /* Disown a pointer. Returns 1 if we owned it to begin with */
1059 SWIGRUNTIME int
1060 SWIG_Tcl_Disown(void *ptr) {
1061  Tcl_HashEntry *entryPtr = Tcl_FindHashEntry(SWIG_Tcl_ObjectTable(), (char *) ptr);
1062  if (entryPtr) {
1063  Tcl_DeleteHashEntry(entryPtr);
1064  return 1;
1065  }
1066  return 0;
1067 }
1068 
1069 /* Convert a pointer value */
1070 SWIGRUNTIME int
1071 SWIG_Tcl_ConvertPtrFromString(Tcl_Interp *interp, const char *c, void **ptr, swig_type_info *ty, int flags) {
1072  swig_cast_info *tc;
1073  /* Pointer values must start with leading underscore */
1074  while (*c != '_') {
1075  *ptr = (void *) 0;
1076  if (strcmp(c,"NULL") == 0)
1078 
1079  /* Empty string: not a pointer */
1080  if (*c == 0) return SWIG_ERROR;
1081 
1082  /* Hmmm. It could be an object name. */
1083 
1084  /* Check if this is a command at all. Prevents <c> cget -this */
1085  /* from being called when c is not a command, firing the unknown proc */
1086  if (Tcl_VarEval(interp,"info commands ", c, (char *) NULL) == TCL_OK) {
1087  Tcl_Obj *result = Tcl_GetObjResult(interp);
1088  if (*(Tcl_GetStringFromObj(result, NULL)) == 0) {
1089  /* It's not a command, so it can't be a pointer */
1090  Tcl_ResetResult(interp);
1091  return SWIG_ERROR;
1092  }
1093  } else {
1094  /* This will only fail if the argument is multiple words. */
1095  /* Multiple words are also not commands. */
1096  Tcl_ResetResult(interp);
1097  return SWIG_ERROR;
1098  }
1099 
1100  /* Check if this is really a SWIG pointer */
1101  if (Tcl_VarEval(interp,c," cget -this", (char *) NULL) != TCL_OK) {
1102  Tcl_ResetResult(interp);
1103  return SWIG_ERROR;
1104  }
1105 
1106  c = Tcl_GetStringFromObj(Tcl_GetObjResult(interp), NULL);
1107  }
1108 
1109  c++;
1110  c = SWIG_UnpackData(c,ptr,sizeof(void *));
1111  if (ty) {
1112  tc = c ? SWIG_TypeCheck(c,ty) : 0;
1113  if (!tc) {
1114  return SWIG_ERROR;
1115  }
1116  if (flags & SWIG_POINTER_DISOWN) {
1117  SWIG_Disown((void *) *ptr);
1118  }
1119  {
1120  int newmemory = 0;
1121  *ptr = SWIG_TypeCast(tc,(void *) *ptr,&newmemory);
1122  assert(!newmemory); /* newmemory handling not yet implemented */
1123  }
1124  }
1125  return SWIG_OK;
1126 }
1127 
1128 /* Convert a pointer value */
1130 SWIG_Tcl_ConvertPtr(Tcl_Interp *interp, Tcl_Obj *oc, void **ptr, swig_type_info *ty, int flags) {
1131  return SWIG_Tcl_ConvertPtrFromString(interp, Tcl_GetStringFromObj(oc,NULL), ptr, ty, flags);
1132 }
1133 
1134 /* Convert a pointer value */
1135 SWIGRUNTIME char *
1137  char d;
1138  /* Pointer values must start with leading underscore. NULL has no type */
1139  if (*c != '_') {
1140  return 0;
1141  }
1142  c++;
1143  /* Extract hex value from pointer */
1144  while ((d = *c)) {
1145  if (!(((d >= '0') && (d <= '9')) || ((d >= 'a') && (d <= 'f')))) break;
1146  c++;
1147  }
1148  return c;
1149 }
1150 
1151 /* Convert a packed pointer value */
1152 SWIGRUNTIME int
1153 SWIG_Tcl_ConvertPacked(Tcl_Interp *SWIGUNUSEDPARM(interp) , Tcl_Obj *obj, void *ptr, int sz, swig_type_info *ty) {
1154  swig_cast_info *tc;
1155  const char *c;
1156 
1157  if (!obj) goto type_error;
1158  c = Tcl_GetStringFromObj(obj,NULL);
1159  /* Pointer values must start with leading underscore */
1160  if (*c != '_') goto type_error;
1161  c++;
1162  c = SWIG_UnpackData(c,ptr,sz);
1163  if (ty) {
1164  tc = SWIG_TypeCheck(c,ty);
1165  if (!tc) goto type_error;
1166  }
1167  return SWIG_OK;
1168 
1169  type_error:
1170 
1171  return SWIG_ERROR;
1172 }
1173 
1174 
1175 /* Take a pointer and convert it to a string */
1176 SWIGRUNTIME void
1177 SWIG_Tcl_MakePtr(char *c, void *ptr, swig_type_info *ty, int SWIGUNUSEDPARM(flags)) {
1178  if (ptr) {
1179  *(c++) = '_';
1180  c = SWIG_PackData(c,&ptr,sizeof(void *));
1181  strcpy(c,ty->name);
1182  } else {
1183  strcpy(c,"NULL");
1184  }
1185 }
1186 
1187 /* Create a new pointer object */
1188 SWIGRUNTIMEINLINE Tcl_Obj *
1189 SWIG_Tcl_NewPointerObj(void *ptr, swig_type_info *type, int flags) {
1190  Tcl_Obj *robj;
1191  char result[SWIG_BUFFER_SIZE];
1192  SWIG_MakePtr(result,ptr,type,flags);
1193  robj = Tcl_NewStringObj(result,-1);
1194  return robj;
1195 }
1196 
1197 SWIGRUNTIME Tcl_Obj *
1198 SWIG_Tcl_NewPackedObj(void *ptr, int sz, swig_type_info *type) {
1199  char result[1024];
1200  char *r = result;
1201  if ((2*sz + 1 + strlen(type->name)) > 1000) return 0;
1202  *(r++) = '_';
1203  r = SWIG_PackData(r,ptr,sz);
1204  strcpy(r,type->name);
1205  return Tcl_NewStringObj(result,-1);
1206 }
1207 
1208 /* -----------------------------------------------------------------------------*
1209  * Get type list
1210  * -----------------------------------------------------------------------------*/
1211 
1213 SWIG_Tcl_GetModule(Tcl_Interp *interp) {
1214  const char *data;
1215  swig_module_info *ret = 0;
1216 
1217  /* first check if pointer already created */
1218  data = Tcl_GetVar(interp, (char *)"swig_runtime_data_type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, TCL_GLOBAL_ONLY);
1219  if (data) {
1220  SWIG_UnpackData(data, &ret, sizeof(swig_type_info **));
1221  }
1222 
1223  return ret;
1224 }
1225 
1226 SWIGRUNTIME void
1227 SWIG_Tcl_SetModule(Tcl_Interp *interp, swig_module_info *module) {
1228  char buf[SWIG_BUFFER_SIZE];
1229  char *data;
1230 
1231  /* create a new pointer */
1232  data = SWIG_PackData(buf, &module, sizeof(swig_type_info **));
1233  *data = 0;
1234  Tcl_SetVar(interp, (char *)"swig_runtime_data_type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, buf, TCL_GLOBAL_ONLY);
1235 }
1236 
1237 /* -----------------------------------------------------------------------------*
1238  * Object auxiliaries
1239  * -----------------------------------------------------------------------------*/
1240 
1241 
1242 SWIGRUNTIME void
1243 SWIG_Tcl_ObjectDelete(ClientData clientData) {
1244  swig_instance *si = (swig_instance *) clientData;
1245  if (!si) return;
1246  if (si->destroy && SWIG_Disown(si->thisvalue)) {
1247  if (si->classptr->destructor) {
1248  (si->classptr->destructor)(si->thisvalue);
1249  }
1250  }
1251  Tcl_DecrRefCount(si->thisptr);
1252  free(si);
1253 }
1254 
1255 /* Function to invoke object methods given an instance */
1256 SWIGRUNTIME int
1257 SWIG_Tcl_MethodCommand(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
1258  char *method, *attrname;
1259  swig_instance *inst = (swig_instance *) clientData;
1260  swig_method *meth;
1261  swig_attribute *attr;
1262  Tcl_Obj *oldarg;
1263  Tcl_Obj **objv;
1264  int rcode;
1265  swig_class *cls;
1266  swig_class *cls_stack[64];
1267  int cls_stack_bi[64];
1268  int cls_stack_top = 0;
1269  int numconf = 2;
1270  int bi;
1271 
1272  objv = (Tcl_Obj **) _objv;
1273  if (objc < 2) {
1274  Tcl_SetResult(interp, (char *) "wrong # args.", TCL_STATIC);
1275  return TCL_ERROR;
1276  }
1277  method = Tcl_GetStringFromObj(objv[1],NULL);
1278  if (strcmp(method,"-acquire") == 0) {
1279  inst->destroy = 1;
1280  SWIG_Acquire(inst->thisvalue);
1281  return TCL_OK;
1282  }
1283  if (strcmp(method,"-disown") == 0) {
1284  if (inst->destroy) {
1285  SWIG_Disown(inst->thisvalue);
1286  }
1287  inst->destroy = 0;
1288  return TCL_OK;
1289  }
1290  if (strcmp(method,"-delete") == 0) {
1291  Tcl_DeleteCommandFromToken(interp,inst->cmdtok);
1292  return TCL_OK;
1293  }
1294  cls_stack[cls_stack_top] = inst->classptr;
1295  cls_stack_bi[cls_stack_top] = -1;
1296  while (1) {
1297  Tcl_HashEntry* hashentry;
1298  bi = cls_stack_bi[cls_stack_top];
1299  cls = cls_stack[cls_stack_top];
1300  if (bi != -1) {
1301  if (!cls->bases[bi] && cls->base_names[bi]) {
1302  /* lookup and cache the base class */
1303  swig_type_info *info = SWIG_TypeQueryModule(cls->module, cls->module, cls->base_names[bi]);
1304  if (info) cls->bases[bi] = (swig_class *) info->clientdata;
1305  }
1306  cls = cls->bases[bi];
1307  if (cls) {
1308  cls_stack_bi[cls_stack_top]++;
1309  cls_stack_top++;
1310  cls_stack[cls_stack_top] = cls;
1311  cls_stack_bi[cls_stack_top] = -1;
1312  continue;
1313  }
1314  }
1315  if (!cls) {
1316  cls_stack_top--;
1317  if (cls_stack_top < 0) break;
1318  else continue;
1319  }
1320  cls_stack_bi[cls_stack_top]++;
1321 
1322  hashentry = Tcl_FindHashEntry(&(cls->hashtable), method);
1323  if (hashentry) {
1324  ClientData cd = Tcl_GetHashValue(hashentry);
1325  swig_wrapper method_wrapper = (swig_wrapper)cd;
1326  oldarg = objv[1];
1327  objv[1] = inst->thisptr;
1328  Tcl_IncrRefCount(inst->thisptr);
1329  rcode = (method_wrapper)(clientData,interp,objc,objv);
1330  objv[1] = oldarg;
1331  Tcl_DecrRefCount(inst->thisptr);
1332  return rcode;
1333  }
1334  /* Check class methods for a match */
1335  if (strcmp(method,"cget") == 0) {
1336  if (objc < 3) {
1337  Tcl_SetResult(interp, (char *) "wrong # args.", TCL_STATIC);
1338  return TCL_ERROR;
1339  }
1340  attrname = Tcl_GetStringFromObj(objv[2],NULL);
1341  attr = cls->attributes;
1342  while (attr && attr->name) {
1343  if ((strcmp(attr->name, attrname) == 0) && (attr->getmethod)) {
1344  oldarg = objv[1];
1345  objv[1] = inst->thisptr;
1346  Tcl_IncrRefCount(inst->thisptr);
1347  rcode = (*attr->getmethod)(clientData,interp,2, objv);
1348  objv[1] = oldarg;
1349  Tcl_DecrRefCount(inst->thisptr);
1350  return rcode;
1351  }
1352  attr++;
1353  }
1354  if (strcmp(attrname, "-this") == 0) {
1355  Tcl_SetObjResult(interp, Tcl_DuplicateObj(inst->thisptr));
1356  return TCL_OK;
1357  }
1358  if (strcmp(attrname, "-thisown") == 0) {
1359  if (SWIG_Thisown(inst->thisvalue)) {
1360  Tcl_SetResult(interp,(char*)"1",TCL_STATIC);
1361  } else {
1362  Tcl_SetResult(interp,(char*)"0",TCL_STATIC);
1363  }
1364  return TCL_OK;
1365  }
1366  } else if (strcmp(method, "configure") == 0) {
1367  int i;
1368  if (objc < 4) {
1369  Tcl_SetResult(interp, (char *) "wrong # args.", TCL_STATIC);
1370  return TCL_ERROR;
1371  }
1372  i = 2;
1373  while (i < objc) {
1374  attrname = Tcl_GetStringFromObj(objv[i],NULL);
1375  attr = cls->attributes;
1376  while (attr && attr->name) {
1377  if ((strcmp(attr->name, attrname) == 0) && (attr->setmethod)) {
1378  oldarg = objv[i];
1379  objv[i] = inst->thisptr;
1380  Tcl_IncrRefCount(inst->thisptr);
1381  rcode = (*attr->setmethod)(clientData,interp,3, &objv[i-1]);
1382  objv[i] = oldarg;
1383  Tcl_DecrRefCount(inst->thisptr);
1384  if (rcode != TCL_OK) return rcode;
1385  numconf += 2;
1386  }
1387  attr++;
1388  }
1389  i+=2;
1390  }
1391  }
1392  }
1393  if (strcmp(method,"configure") == 0) {
1394  if (numconf >= objc) {
1395  return TCL_OK;
1396  } else {
1397  Tcl_SetResult(interp,(char *) "Invalid attribute name.", TCL_STATIC);
1398  return TCL_ERROR;
1399  }
1400  }
1401  if (strcmp(method,"cget") == 0) {
1402  Tcl_SetResult(interp,(char *) "Invalid attribute name.", TCL_STATIC);
1403  return TCL_ERROR;
1404  }
1405  Tcl_SetResult(interp, (char *) "Invalid method. Must be one of: configure cget -acquire -disown -delete", TCL_STATIC);
1406  cls = inst->classptr;
1407  bi = 0;
1408  while (cls) {
1409  meth = cls->methods;
1410  while (meth && meth->name) {
1411  char *cr = (char *) Tcl_GetStringResult(interp);
1412  size_t meth_len = strlen(meth->name);
1413  char* where = strchr(cr,':');
1414  while(where) {
1415  where = strstr(where, meth->name);
1416  if(where) {
1417  if(where[-1] == ' ' && (where[meth_len] == ' ' || where[meth_len]==0)) {
1418  break;
1419  } else {
1420  where++;
1421  }
1422  }
1423  }
1424 
1425  if (!where)
1426  Tcl_AppendElement(interp, (char *) meth->name);
1427  meth++;
1428  }
1429  cls = inst->classptr->bases[bi++];
1430  }
1431  return TCL_ERROR;
1432 }
1433 
1434 /* This function takes the current result and turns it into an object command */
1435 SWIGRUNTIME Tcl_Obj *
1436 SWIG_Tcl_NewInstanceObj(Tcl_Interp *interp, void *thisvalue, swig_type_info *type, int flags) {
1437  Tcl_Obj *robj = SWIG_NewPointerObj(thisvalue, type,0);
1438  /* Check to see if this pointer belongs to a class or not */
1439  if (thisvalue && (type->clientdata) && (interp)) {
1440  Tcl_CmdInfo ci;
1441  char *name;
1442  name = Tcl_GetStringFromObj(robj,NULL);
1443  if (!Tcl_GetCommandInfo(interp,name, &ci) || (flags)) {
1444  swig_instance *newinst = (swig_instance *) malloc(sizeof(swig_instance));
1445  newinst->thisptr = Tcl_DuplicateObj(robj);
1446  Tcl_IncrRefCount(newinst->thisptr);
1447  newinst->thisvalue = thisvalue;
1448  newinst->classptr = (swig_class *) type->clientdata;
1449  newinst->destroy = flags;
1450  newinst->cmdtok = Tcl_CreateObjCommand(interp, Tcl_GetStringFromObj(robj,NULL), (swig_wrapper_func) SWIG_MethodCommand, (ClientData) newinst, (swig_delete_func) SWIG_ObjectDelete);
1451  if (flags) {
1452  SWIG_Acquire(thisvalue);
1453  }
1454  }
1455  }
1456  return robj;
1457 }
1458 
1459 /* Function to create objects */
1460 SWIGRUNTIME int
1461 SWIG_Tcl_ObjectConstructor(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
1462  Tcl_Obj *newObj = 0;
1463  void *thisvalue = 0;
1464  swig_instance *newinst = 0;
1465  swig_class *classptr = (swig_class *) clientData;
1466  swig_wrapper cons = 0;
1467  char *name = 0;
1468  int firstarg = 0;
1469  int thisarg = 0;
1470  int destroy = 1;
1471 
1472  if (!classptr) {
1473  Tcl_SetResult(interp, (char *) "swig: internal runtime error. No class object defined.", TCL_STATIC);
1474  return TCL_ERROR;
1475  }
1476  cons = classptr->constructor;
1477  if (objc > 1) {
1478  char *s = Tcl_GetStringFromObj(objv[1],NULL);
1479  if (strcmp(s,"-this") == 0) {
1480  thisarg = 2;
1481  cons = 0;
1482  } else if (strcmp(s,"-args") == 0) {
1483  firstarg = 1;
1484  } else if (objc == 2) {
1485  firstarg = 1;
1486  name = s;
1487  } else if (objc >= 3) {
1488  char *s1;
1489  name = s;
1490  s1 = Tcl_GetStringFromObj(objv[2],NULL);
1491  if (strcmp(s1,"-this") == 0) {
1492  thisarg = 3;
1493  cons = 0;
1494  } else {
1495  firstarg = 1;
1496  }
1497  }
1498  }
1499  if (cons) {
1500  int result;
1501  result = (*cons)(0, interp, objc-firstarg, &objv[firstarg]);
1502  if (result != TCL_OK) {
1503  return result;
1504  }
1505  newObj = Tcl_DuplicateObj(Tcl_GetObjResult(interp));
1506  if (!name) name = Tcl_GetStringFromObj(newObj,NULL);
1507  } else if (thisarg > 0) {
1508  if (thisarg < objc) {
1509  destroy = 0;
1510  newObj = Tcl_DuplicateObj(objv[thisarg]);
1511  if (!name) name = Tcl_GetStringFromObj(newObj,NULL);
1512  } else {
1513  Tcl_SetResult(interp, (char *) "wrong # args.", TCL_STATIC);
1514  return TCL_ERROR;
1515  }
1516  } else {
1517  Tcl_SetResult(interp, (char *) "No constructor available.", TCL_STATIC);
1518  return TCL_ERROR;
1519  }
1520  if (SWIG_Tcl_ConvertPtr(interp,newObj, (void **) &thisvalue, *(classptr->type), 0) != SWIG_OK) {
1521  Tcl_DecrRefCount(newObj);
1522  return TCL_ERROR;
1523  }
1524  newinst = (swig_instance *) malloc(sizeof(swig_instance));
1525  newinst->thisptr = newObj;
1526  Tcl_IncrRefCount(newObj);
1527  newinst->thisvalue = thisvalue;
1528  newinst->classptr = classptr;
1529  newinst->destroy = destroy;
1530  if (destroy) {
1531  SWIG_Acquire(thisvalue);
1532  }
1533  newinst->cmdtok = Tcl_CreateObjCommand(interp,name, (swig_wrapper) SWIG_MethodCommand, (ClientData) newinst, (swig_delete_func) SWIG_ObjectDelete);
1534  return TCL_OK;
1535 }
1536 
1537 /* -----------------------------------------------------------------------------*
1538  * Get arguments
1539  * -----------------------------------------------------------------------------*/
1540 SWIGRUNTIME int
1541 SWIG_Tcl_GetArgs(Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[], const char *fmt, ...) {
1542  int argno = 0, opt = 0;
1543  long tempi;
1544  double tempd;
1545  const char *c;
1546  va_list ap;
1547  void *vptr;
1548  Tcl_Obj *obj = 0;
1549  swig_type_info *ty;
1550 
1551  va_start(ap,fmt);
1552  for (c = fmt; (*c && (*c != ':') && (*c != ';')); c++,argno++) {
1553  if (*c == '|') {
1554  opt = 1;
1555  c++;
1556  }
1557  if (argno >= (objc-1)) {
1558  if (!opt) {
1559  Tcl_SetResult(interp, (char *) "Wrong number of arguments ", TCL_STATIC);
1560  goto argerror;
1561  } else {
1562  va_end(ap);
1563  return TCL_OK;
1564  }
1565  }
1566 
1567  vptr = va_arg(ap,void *);
1568  if (vptr) {
1569  if (isupper(*c)) {
1570  obj = SWIG_Tcl_GetConstantObj(Tcl_GetStringFromObj(objv[argno+1],0));
1571  if (!obj) obj = objv[argno+1];
1572  } else {
1573  obj = objv[argno+1];
1574  }
1575  switch(*c) {
1576  case 'i': case 'I':
1577  case 'l': case 'L':
1578  case 'h': case 'H':
1579  case 'b': case 'B':
1580  if (Tcl_GetLongFromObj(interp,obj,&tempi) != TCL_OK) goto argerror;
1581  if ((*c == 'i') || (*c == 'I')) *((int *)vptr) = (int)tempi;
1582  else if ((*c == 'l') || (*c == 'L')) *((long *)vptr) = (long)tempi;
1583  else if ((*c == 'h') || (*c == 'H')) *((short*)vptr) = (short)tempi;
1584  else if ((*c == 'b') || (*c == 'B')) *((unsigned char *)vptr) = (unsigned char)tempi;
1585  break;
1586  case 'f': case 'F':
1587  case 'd': case 'D':
1588  if (Tcl_GetDoubleFromObj(interp,obj,&tempd) != TCL_OK) goto argerror;
1589  if ((*c == 'f') || (*c == 'F')) *((float *) vptr) = (float)tempd;
1590  else if ((*c == 'd') || (*c == 'D')) *((double*) vptr) = tempd;
1591  break;
1592  case 's': case 'S':
1593  if (*(c+1) == '#') {
1594  int *vlptr = (int *) va_arg(ap, void *);
1595  *((char **) vptr) = Tcl_GetStringFromObj(obj, vlptr);
1596  c++;
1597  } else {
1598  *((char **)vptr) = Tcl_GetStringFromObj(obj,NULL);
1599  }
1600  break;
1601  case 'c': case 'C':
1602  *((char *)vptr) = *(Tcl_GetStringFromObj(obj,NULL));
1603  break;
1604  case 'p': case 'P':
1605  ty = (swig_type_info *) va_arg(ap, void *);
1606  if (SWIG_Tcl_ConvertPtr(interp, obj, (void **) vptr, ty, 0) != SWIG_OK) goto argerror;
1607  break;
1608  case 'o': case 'O':
1609  *((Tcl_Obj **)vptr) = objv[argno+1];
1610  break;
1611  default:
1612  break;
1613  }
1614  }
1615  }
1616 
1617  if ((*c != ';') && ((objc-1) > argno)) {
1618  Tcl_SetResult(interp, (char *) "Wrong # args.", TCL_STATIC);
1619  goto argerror;
1620  }
1621  va_end(ap);
1622  return TCL_OK;
1623 
1624  argerror:
1625  {
1626  char temp[32];
1627  sprintf(temp,"%d", argno+1);
1628  c = strchr(fmt,':');
1629  if (!c) c = strchr(fmt,';');
1630  if (!c) c = (char *)"";
1631  Tcl_AppendResult(interp,c," argument ", temp, NULL);
1632  va_end(ap);
1633  return TCL_ERROR;
1634  }
1635 }
1636 
1637 #ifdef __cplusplus
1638 }
1639 #endif
1640 
1641 
1642 
1643 #define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0)
1644 
1645 #define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else
1646 
1647 
1648 
1649 /* -------- TYPES TABLE (BEGIN) -------- */
1650 
1651 #define SWIGTYPE_p_a_base swig_types[0]
1652 #define SWIGTYPE_p_a_coord swig_types[1]
1653 #define SWIGTYPE_p_a_coord_base swig_types[2]
1654 #define SWIGTYPE_p_a_mat_c swig_types[3]
1655 #define SWIGTYPE_p_a_point swig_types[4]
1656 #define SWIGTYPE_p_char swig_types[5]
1658 static swig_module_info swig_module = {swig_types, 6, 0, 0, 0, 0};
1659 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
1660 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
1661 
1662 /* -------- TYPES TABLE (END) -------- */
1663 
1664 #define SWIG_init A_coord_Init
1665 #define SWIG_name "a_coord"
1666 #define SWIG_prefix ""
1667 #define SWIG_version "0.0"
1668 
1669 #define SWIGVERSION 0x040002
1670 #define SWIG_VERSION SWIGVERSION
1671 
1672 
1673 #define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a))
1674 #define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),reinterpret_cast< void** >(a))
1675 
1676 
1677 #include <stdexcept>
1678 
1679 
1680 
1681 #ifdef __cplusplus
1682 extern "C" {
1683 #endif
1684 #ifdef MAC_TCL
1685 #pragma export on
1686 #endif
1687 SWIGEXPORT int SWIG_init(Tcl_Interp *);
1688 #ifdef MAC_TCL
1689 #pragma export off
1690 #endif
1691 #ifdef __cplusplus
1692 }
1693 #endif
1694 
1695 /* Compatibility version for TCL stubs */
1696 #ifndef SWIG_TCL_STUBS_VERSION
1697 #define SWIG_TCL_STUBS_VERSION "8.1"
1698 #endif
1699 
1700 
1701 
1702 #include "a_base.h"
1703 #include <iostream>
1704 #include <sstream>
1705 
1706 
1707 #include <string>
1708 
1709 
1710 #include <limits.h>
1711 #if !defined(SWIG_NO_LLONG_MAX)
1712 # if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__)
1713 # define LLONG_MAX __LONG_LONG_MAX__
1714 # define LLONG_MIN (-LLONG_MAX - 1LL)
1715 # define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
1716 # endif
1717 #endif
1718 
1719 
1720 SWIGINTERNINLINE Tcl_Obj *
1721 SWIG_FromCharPtrAndSize(const char* carray, size_t size)
1722 {
1723  return (size < INT_MAX) ? Tcl_NewStringObj(carray, static_cast< int >(size)) : NULL;
1724 }
1725 
1726 
1727 SWIGINTERNINLINE Tcl_Obj *
1728 SWIG_From_std_string (const std::string& s)
1729 {
1730  return SWIG_FromCharPtrAndSize(s.data(), s.size());
1731 }
1732 
1733 
1734 SWIGINTERN int
1735 SWIG_AsVal_double SWIG_TCL_DECL_ARGS_2(Tcl_Obj *obj, double *val)
1736 {
1737  double v;
1738  if (Tcl_GetDoubleFromObj(0, obj, &v) == TCL_OK) {
1739  if (val) *val = v;
1740  return SWIG_OK;
1741  }
1742  return SWIG_TypeError;
1743 }
1744 
1745 
1746  #define SWIG_From_double Tcl_NewDoubleObj
1747 
1748 SWIGINTERN std::string a_base_print(a_base *self){
1749  std::ostringstream out;
1750  out << *self;
1751  return out.str();
1752  }
1753 
1754 #include "a_coord_base.h"
1755 
1756 
1757 #include "a_coord.h"
1758 
1759 
1760 SWIGINTERN int
1761 SWIG_AsCharPtrAndSize(Tcl_Obj *obj, char** cptr, size_t* psize, int *alloc)
1762 {
1763  int len = 0;
1764  char *cstr = Tcl_GetStringFromObj(obj, &len);
1765  if (cstr) {
1766  if (cptr) *cptr = cstr;
1767  if (psize) *psize = len + 1;
1768  if (alloc) *alloc = SWIG_OLDOBJ;
1769  return SWIG_OK;
1770  }
1771  return SWIG_TypeError;
1772 }
1773 
1774 
1775 SWIGINTERN int
1776 SWIG_AsPtr_std_string SWIG_TCL_DECL_ARGS_2(Tcl_Obj * obj, std::string **val)
1777 {
1778  char* buf = 0 ; size_t size = 0; int alloc = SWIG_OLDOBJ;
1779  if (SWIG_IsOK((SWIG_AsCharPtrAndSize(obj, &buf, &size, &alloc)))) {
1780  if (buf) {
1781  if (val) *val = new std::string(buf, size - 1);
1782  if (alloc == SWIG_NEWOBJ) delete[] buf;
1783  return SWIG_NEWOBJ;
1784  } else {
1785  if (val) *val = 0;
1786  return SWIG_OLDOBJ;
1787  }
1788  } else {
1789  static int init = 0;
1790  static swig_type_info* descriptor = 0;
1791  if (!init) {
1792  descriptor = SWIG_TypeQuery("std::string" " *");
1793  init = 1;
1794  }
1795  if (descriptor) {
1796  std::string *vptr;
1797  int res = SWIG_ConvertPtr(obj, (void**)&vptr, descriptor, 0);
1798  if (SWIG_IsOK(res) && val) *val = vptr;
1799  return res;
1800  }
1801  }
1802  return SWIG_ERROR;
1803 }
1804 
1805 
1806 SWIGINTERN int
1807 SWIG_AsVal_bool SWIG_TCL_DECL_ARGS_2(Tcl_Obj *obj, bool *val)
1808 {
1809  int v;
1810  if (Tcl_GetBooleanFromObj(0, obj, &v) == TCL_OK) {
1811  if (val) *val = v ? true : false;
1812  return SWIG_OK;
1813  }
1814  return SWIG_TypeError;
1815 }
1816 
1817 #ifdef __cplusplus
1818 extern "C" {
1819 #endif
1820 SWIGINTERN int
1821 _wrap_a_base_classname(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
1822  a_base *arg1 = (a_base *) 0 ;
1823  void *argp1 = 0 ;
1824  int res1 = 0 ;
1825  std::string result;
1826 
1827  if (SWIG_GetArgs(interp, objc, objv,"o:a_base_classname self ",(void *)0) == TCL_ERROR) SWIG_fail;
1828  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_base, 0 | 0 );
1829  if (!SWIG_IsOK(res1)) {
1830  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_base_classname" "', argument " "1"" of type '" "a_base *""'");
1831  }
1832  arg1 = reinterpret_cast< a_base * >(argp1);
1833  result = (arg1)->classname();
1834  Tcl_SetObjResult(interp,SWIG_From_std_string(static_cast< std::string >(result)));
1835  return TCL_OK;
1836 fail:
1837  return TCL_ERROR;
1838 }
1839 
1840 
1841 SWIGINTERN int
1842 _wrap_a_base_help(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
1843  std::string result;
1844 
1845  if (SWIG_GetArgs(interp, objc, objv,":a_base_help ") == TCL_ERROR) SWIG_fail;
1846  result = a_base::help();
1847  Tcl_SetObjResult(interp,SWIG_From_std_string(static_cast< std::string >(result)));
1848  return TCL_OK;
1849 fail:
1850  return TCL_ERROR;
1851 }
1852 
1853 
1854 SWIGINTERN int
1855 _wrap_a_base_small__SWIG_0(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
1856  a_base *arg1 = (a_base *) 0 ;
1857  double arg2 ;
1858  void *argp1 = 0 ;
1859  int res1 = 0 ;
1860  double val2 ;
1861  int ecode2 = 0 ;
1862 
1863  if (SWIG_GetArgs(interp, objc, objv,"oo:a_base_small self tol ",(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
1864  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_base, 0 | 0 );
1865  if (!SWIG_IsOK(res1)) {
1866  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_base_small" "', argument " "1"" of type '" "a_base *""'");
1867  }
1868  arg1 = reinterpret_cast< a_base * >(argp1);
1869  ecode2 = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(objv[2], &val2);
1870  if (!SWIG_IsOK(ecode2)) {
1871  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "a_base_small" "', argument " "2"" of type '" "double""'");
1872  }
1873  arg2 = static_cast< double >(val2);
1874  (arg1)->small(arg2);
1875 
1876  return TCL_OK;
1877 fail:
1878  return TCL_ERROR;
1879 }
1880 
1881 
1882 SWIGINTERN int
1883 _wrap_a_base_small__SWIG_1(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
1884  a_base *arg1 = (a_base *) 0 ;
1885  void *argp1 = 0 ;
1886  int res1 = 0 ;
1887  double result;
1888 
1889  if (SWIG_GetArgs(interp, objc, objv,"o:a_base_small self ",(void *)0) == TCL_ERROR) SWIG_fail;
1890  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_base, 0 | 0 );
1891  if (!SWIG_IsOK(res1)) {
1892  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_base_small" "', argument " "1"" of type '" "a_base const *""'");
1893  }
1894  arg1 = reinterpret_cast< a_base * >(argp1);
1895  result = (double)((a_base const *)arg1)->small();
1896  Tcl_SetObjResult(interp,SWIG_From_double(static_cast< double >(result)));
1897  return TCL_OK;
1898 fail:
1899  return TCL_ERROR;
1900 }
1901 
1902 
1903 SWIGINTERN int
1904 _wrap_a_base_small(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
1905  Tcl_Obj *CONST *argv = objv+1;
1906  int argc = objc-1;
1907  if (argc == 1) {
1908  int _v;
1909  void *vptr = 0;
1910  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_a_base, 0);
1911  _v = SWIG_CheckState(res);
1912  if (_v) {
1913  return _wrap_a_base_small__SWIG_1(clientData, interp, objc, argv - 1);
1914  }
1915  }
1916  if (argc == 2) {
1917  int _v;
1918  void *vptr = 0;
1919  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_a_base, 0);
1920  _v = SWIG_CheckState(res);
1921  if (_v) {
1922  {
1923  int res = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(argv[1], NULL);
1924  _v = SWIG_CheckState(res);
1925  }
1926  if (_v) {
1927  return _wrap_a_base_small__SWIG_0(clientData, interp, objc, argv - 1);
1928  }
1929  }
1930  }
1931 
1932  Tcl_SetResult(interp,(char *) "Wrong number or type of arguments for overloaded function 'a_base_small'.\n"
1933  " Possible C/C++ prototypes are:\n"
1934  " a_base::small(double)\n"
1935  " a_base::small() const\n", TCL_STATIC);
1936  return TCL_ERROR;
1937 }
1938 
1939 
1940 SWIGINTERN int
1941 _wrap_a_base_print(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
1942  a_base *arg1 = (a_base *) 0 ;
1943  void *argp1 = 0 ;
1944  int res1 = 0 ;
1945  std::string result;
1946 
1947  if (SWIG_GetArgs(interp, objc, objv,"o:a_base_print self ",(void *)0) == TCL_ERROR) SWIG_fail;
1948  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_base, 0 | 0 );
1949  if (!SWIG_IsOK(res1)) {
1950  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_base_print" "', argument " "1"" of type '" "a_base *""'");
1951  }
1952  arg1 = reinterpret_cast< a_base * >(argp1);
1953  result = a_base_print(arg1);
1954  Tcl_SetObjResult(interp,SWIG_From_std_string(static_cast< std::string >(result)));
1955  return TCL_OK;
1956 fail:
1957  return TCL_ERROR;
1958 }
1959 
1960 
1961 SWIGINTERN int
1962 _wrap_new_a_base(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
1963  a_base *result = 0 ;
1964 
1965  if (SWIG_GetArgs(interp, objc, objv,":new_a_base ") == TCL_ERROR) SWIG_fail;
1966  result = (a_base *)new a_base();
1967  Tcl_SetObjResult(interp, SWIG_NewInstanceObj( SWIG_as_voidptr(result), SWIGTYPE_p_a_base,0));
1968  return TCL_OK;
1969 fail:
1970  return TCL_ERROR;
1971 }
1972 
1973 
1974 SWIGINTERN int
1975 _wrap_delete_a_base(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
1976  a_base *arg1 = (a_base *) 0 ;
1977  void *argp1 = 0 ;
1978  int res1 = 0 ;
1979 
1980  if (SWIG_GetArgs(interp, objc, objv,"o:delete_a_base self ",(void *)0) == TCL_ERROR) SWIG_fail;
1981  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_base, SWIG_POINTER_DISOWN | 0 );
1982  if (!SWIG_IsOK(res1)) {
1983  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_a_base" "', argument " "1"" of type '" "a_base *""'");
1984  }
1985  arg1 = reinterpret_cast< a_base * >(argp1);
1986  delete arg1;
1987 
1988  return TCL_OK;
1989 fail:
1990  return TCL_ERROR;
1991 }
1992 
1993 
1995 a_base *arg1 = (a_base *) obj;
1996 delete arg1;
1997 }
1999  {"classname", _wrap_a_base_classname},
2000  {"small", _wrap_a_base_small},
2001  {"print", _wrap_a_base_print},
2002  {0,0}
2003 };
2005  {0,0,0}
2006 };
2008 static const char * swig_a_base_base_names[] = {0};
2010 SWIGINTERN int
2011 _wrap_a_coord_base_classname(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2012  a_coord_base *arg1 = (a_coord_base *) 0 ;
2013  void *argp1 = 0 ;
2014  int res1 = 0 ;
2015  std::string result;
2016 
2017  if (SWIG_GetArgs(interp, objc, objv,"o:a_coord_base_classname self ",(void *)0) == TCL_ERROR) SWIG_fail;
2018  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_coord_base, 0 | 0 );
2019  if (!SWIG_IsOK(res1)) {
2020  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_coord_base_classname" "', argument " "1"" of type '" "a_coord_base *""'");
2021  }
2022  arg1 = reinterpret_cast< a_coord_base * >(argp1);
2023  result = (arg1)->classname();
2024  Tcl_SetObjResult(interp,SWIG_From_std_string(static_cast< std::string >(result)));
2025  return TCL_OK;
2026 fail:
2027  return TCL_ERROR;
2028 }
2029 
2030 
2031 SWIGINTERN int
2032 _wrap_a_coord_base_help(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2033  std::string result;
2034 
2035  if (SWIG_GetArgs(interp, objc, objv,":a_coord_base_help ") == TCL_ERROR) SWIG_fail;
2036  result = a_coord_base::help();
2037  Tcl_SetObjResult(interp,SWIG_From_std_string(static_cast< std::string >(result)));
2038  return TCL_OK;
2039 fail:
2040  return TCL_ERROR;
2041 }
2042 
2043 
2044 SWIGINTERN int
2045 _wrap_new_a_coord_base(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2046  a_coord_base *result = 0 ;
2047 
2048  if (SWIG_GetArgs(interp, objc, objv,":new_a_coord_base ") == TCL_ERROR) SWIG_fail;
2049  result = (a_coord_base *)new a_coord_base();
2050  Tcl_SetObjResult(interp, SWIG_NewInstanceObj( SWIG_as_voidptr(result), SWIGTYPE_p_a_coord_base,0));
2051  return TCL_OK;
2052 fail:
2053  return TCL_ERROR;
2054 }
2055 
2056 
2057 SWIGINTERN int
2058 _wrap_delete_a_coord_base(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2059  a_coord_base *arg1 = (a_coord_base *) 0 ;
2060  void *argp1 = 0 ;
2061  int res1 = 0 ;
2062 
2063  if (SWIG_GetArgs(interp, objc, objv,"o:delete_a_coord_base self ",(void *)0) == TCL_ERROR) SWIG_fail;
2064  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_coord_base, SWIG_POINTER_DISOWN | 0 );
2065  if (!SWIG_IsOK(res1)) {
2066  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_a_coord_base" "', argument " "1"" of type '" "a_coord_base *""'");
2067  }
2068  arg1 = reinterpret_cast< a_coord_base * >(argp1);
2069  delete arg1;
2070 
2071  return TCL_OK;
2072 fail:
2073  return TCL_ERROR;
2074 }
2075 
2076 
2078 a_coord_base *arg1 = (a_coord_base *) obj;
2079 delete arg1;
2080 }
2082  {"classname", _wrap_a_coord_base_classname},
2083  {0,0}
2084 };
2086  {0,0,0}
2087 };
2089 static const char * swig_a_coord_base_base_names[] = {"a_base *",0};
2091 SWIGINTERN int
2092 _wrap_new_a_coord(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2093  a_coord *result = 0 ;
2094 
2095  if (SWIG_GetArgs(interp, objc, objv,":new_a_coord ") == TCL_ERROR) SWIG_fail;
2096  result = (a_coord *)new a_coord();
2097  Tcl_SetObjResult(interp, SWIG_NewInstanceObj( SWIG_as_voidptr(result), SWIGTYPE_p_a_coord,0));
2098  return TCL_OK;
2099 fail:
2100  return TCL_ERROR;
2101 }
2102 
2103 
2104 SWIGINTERN int
2105 _wrap_delete_a_coord(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2106  a_coord *arg1 = (a_coord *) 0 ;
2107  void *argp1 = 0 ;
2108  int res1 = 0 ;
2109 
2110  if (SWIG_GetArgs(interp, objc, objv,"o:delete_a_coord self ",(void *)0) == TCL_ERROR) SWIG_fail;
2111  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_coord, SWIG_POINTER_DISOWN | 0 );
2112  if (!SWIG_IsOK(res1)) {
2113  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_a_coord" "', argument " "1"" of type '" "a_coord *""'");
2114  }
2115  arg1 = reinterpret_cast< a_coord * >(argp1);
2116  delete arg1;
2117 
2118  return TCL_OK;
2119 fail:
2120  return TCL_ERROR;
2121 }
2122 
2123 
2124 SWIGINTERN int
2125 _wrap_a_coord_help(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2126  std::string result;
2127 
2128  if (SWIG_GetArgs(interp, objc, objv,":a_coord_help ") == TCL_ERROR) SWIG_fail;
2129  result = a_coord::help();
2130  Tcl_SetObjResult(interp,SWIG_From_std_string(static_cast< std::string >(result)));
2131  return TCL_OK;
2132 fail:
2133  return TCL_ERROR;
2134 }
2135 
2136 
2137 SWIGINTERN int
2138 _wrap_a_coord_name__SWIG_0(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2139  a_coord *arg1 = (a_coord *) 0 ;
2140  void *argp1 = 0 ;
2141  int res1 = 0 ;
2142  std::string result;
2143 
2144  if (SWIG_GetArgs(interp, objc, objv,"o:a_coord_name self ",(void *)0) == TCL_ERROR) SWIG_fail;
2145  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_coord, 0 | 0 );
2146  if (!SWIG_IsOK(res1)) {
2147  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_coord_name" "', argument " "1"" of type '" "a_coord const *""'");
2148  }
2149  arg1 = reinterpret_cast< a_coord * >(argp1);
2150  result = ((a_coord const *)arg1)->name();
2151  Tcl_SetObjResult(interp,SWIG_From_std_string(static_cast< std::string >(result)));
2152  return TCL_OK;
2153 fail:
2154  return TCL_ERROR;
2155 }
2156 
2157 
2158 SWIGINTERN int
2159 _wrap_a_coord_name__SWIG_1(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2160  a_coord *arg1 = (a_coord *) 0 ;
2161  std::string *arg2 = 0 ;
2162  void *argp1 = 0 ;
2163  int res1 = 0 ;
2164  int res2 = SWIG_OLDOBJ ;
2165 
2166  if (SWIG_GetArgs(interp, objc, objv,"oo:a_coord_name self aname ",(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
2167  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_coord, 0 | 0 );
2168  if (!SWIG_IsOK(res1)) {
2169  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_coord_name" "', argument " "1"" of type '" "a_coord *""'");
2170  }
2171  arg1 = reinterpret_cast< a_coord * >(argp1);
2172  {
2173  std::string *ptr = (std::string *)0;
2174  res2 = SWIG_AsPtr_std_string SWIG_TCL_CALL_ARGS_2(objv[2], &ptr);
2175  if (!SWIG_IsOK(res2)) {
2176  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "a_coord_name" "', argument " "2"" of type '" "std::string const &""'");
2177  }
2178  if (!ptr) {
2179  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "a_coord_name" "', argument " "2"" of type '" "std::string const &""'");
2180  }
2181  arg2 = ptr;
2182  }
2183  (arg1)->name((std::string const &)*arg2);
2184 
2185  if (SWIG_IsNewObj(res2)) delete arg2;
2186  return TCL_OK;
2187 fail:
2188  if (SWIG_IsNewObj(res2)) delete arg2;
2189  return TCL_ERROR;
2190 }
2191 
2192 
2193 SWIGINTERN int
2194 _wrap_a_coord_name(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2195  Tcl_Obj *CONST *argv = objv+1;
2196  int argc = objc-1;
2197  if (argc == 1) {
2198  int _v;
2199  void *vptr = 0;
2200  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_a_coord, 0);
2201  _v = SWIG_CheckState(res);
2202  if (_v) {
2203  return _wrap_a_coord_name__SWIG_0(clientData, interp, objc, argv - 1);
2204  }
2205  }
2206  if (argc == 2) {
2207  int _v;
2208  void *vptr = 0;
2209  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_a_coord, 0);
2210  _v = SWIG_CheckState(res);
2211  if (_v) {
2212  int res = SWIG_AsPtr_std_string SWIG_TCL_CALL_ARGS_2(argv[1], (std::string**)(0));
2213  _v = SWIG_CheckState(res);
2214  if (_v) {
2215  return _wrap_a_coord_name__SWIG_1(clientData, interp, objc, argv - 1);
2216  }
2217  }
2218  }
2219 
2220  Tcl_SetResult(interp,(char *) "Wrong number or type of arguments for overloaded function 'a_coord_name'.\n"
2221  " Possible C/C++ prototypes are:\n"
2222  " a_coord::name() const\n"
2223  " a_coord::name(std::string const &)\n", TCL_STATIC);
2224  return TCL_ERROR;
2225 }
2226 
2227 
2228 SWIGINTERN int
2229 _wrap_a_coord_deg(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2230  a_coord *arg1 = (a_coord *) 0 ;
2231  void *argp1 = 0 ;
2232  int res1 = 0 ;
2233 
2234  if (SWIG_GetArgs(interp, objc, objv,"o:a_coord_deg self ",(void *)0) == TCL_ERROR) SWIG_fail;
2235  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_coord, 0 | 0 );
2236  if (!SWIG_IsOK(res1)) {
2237  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_coord_deg" "', argument " "1"" of type '" "a_coord *""'");
2238  }
2239  arg1 = reinterpret_cast< a_coord * >(argp1);
2240  (arg1)->deg();
2241 
2242  return TCL_OK;
2243 fail:
2244  return TCL_ERROR;
2245 }
2246 
2247 
2248 SWIGINTERN int
2249 _wrap_a_coord_rad(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2250  a_coord *arg1 = (a_coord *) 0 ;
2251  void *argp1 = 0 ;
2252  int res1 = 0 ;
2253 
2254  if (SWIG_GetArgs(interp, objc, objv,"o:a_coord_rad self ",(void *)0) == TCL_ERROR) SWIG_fail;
2255  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_coord, 0 | 0 );
2256  if (!SWIG_IsOK(res1)) {
2257  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_coord_rad" "', argument " "1"" of type '" "a_coord *""'");
2258  }
2259  arg1 = reinterpret_cast< a_coord * >(argp1);
2260  (arg1)->rad();
2261 
2262  return TCL_OK;
2263 fail:
2264  return TCL_ERROR;
2265 }
2266 
2267 
2268 SWIGINTERN int
2269 _wrap_a_coord_mode__SWIG_0(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2270  a_coord *arg1 = (a_coord *) 0 ;
2271  bool arg2 ;
2272  void *argp1 = 0 ;
2273  int res1 = 0 ;
2274  bool val2 ;
2275  int ecode2 = 0 ;
2276 
2277  if (SWIG_GetArgs(interp, objc, objv,"oo:a_coord_mode self m ",(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
2278  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_coord, 0 | 0 );
2279  if (!SWIG_IsOK(res1)) {
2280  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_coord_mode" "', argument " "1"" of type '" "a_coord *""'");
2281  }
2282  arg1 = reinterpret_cast< a_coord * >(argp1);
2283  ecode2 = SWIG_AsVal_bool SWIG_TCL_CALL_ARGS_2(objv[2], &val2);
2284  if (!SWIG_IsOK(ecode2)) {
2285  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "a_coord_mode" "', argument " "2"" of type '" "bool""'");
2286  }
2287  arg2 = static_cast< bool >(val2);
2288  (arg1)->mode(arg2);
2289 
2290  return TCL_OK;
2291 fail:
2292  return TCL_ERROR;
2293 }
2294 
2295 
2296 SWIGINTERN int
2297 _wrap_a_coord_mode__SWIG_1(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2298  a_coord *arg1 = (a_coord *) 0 ;
2299  void *argp1 = 0 ;
2300  int res1 = 0 ;
2301  double result;
2302 
2303  if (SWIG_GetArgs(interp, objc, objv,"o:a_coord_mode self ",(void *)0) == TCL_ERROR) SWIG_fail;
2304  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_coord, 0 | 0 );
2305  if (!SWIG_IsOK(res1)) {
2306  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_coord_mode" "', argument " "1"" of type '" "a_coord const *""'");
2307  }
2308  arg1 = reinterpret_cast< a_coord * >(argp1);
2309  result = (double)((a_coord const *)arg1)->mode();
2310  Tcl_SetObjResult(interp,SWIG_From_double(static_cast< double >(result)));
2311  return TCL_OK;
2312 fail:
2313  return TCL_ERROR;
2314 }
2315 
2316 
2317 SWIGINTERN int
2318 _wrap_a_coord_mode(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2319  Tcl_Obj *CONST *argv = objv+1;
2320  int argc = objc-1;
2321  if (argc == 1) {
2322  int _v;
2323  void *vptr = 0;
2324  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_a_coord, 0);
2325  _v = SWIG_CheckState(res);
2326  if (_v) {
2327  return _wrap_a_coord_mode__SWIG_1(clientData, interp, objc, argv - 1);
2328  }
2329  }
2330  if (argc == 2) {
2331  int _v;
2332  void *vptr = 0;
2333  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_a_coord, 0);
2334  _v = SWIG_CheckState(res);
2335  if (_v) {
2336  {
2337  int res = SWIG_AsVal_bool SWIG_TCL_CALL_ARGS_2(argv[1], NULL);
2338  _v = SWIG_CheckState(res);
2339  }
2340  if (_v) {
2341  return _wrap_a_coord_mode__SWIG_0(clientData, interp, objc, argv - 1);
2342  }
2343  }
2344  }
2345 
2346  Tcl_SetResult(interp,(char *) "Wrong number or type of arguments for overloaded function 'a_coord_mode'.\n"
2347  " Possible C/C++ prototypes are:\n"
2348  " a_coord::mode(bool const)\n"
2349  " a_coord::mode() const\n", TCL_STATIC);
2350  return TCL_ERROR;
2351 }
2352 
2353 
2354 SWIGINTERN int
2355 _wrap_a_coord_reset(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2356  a_coord *arg1 = (a_coord *) 0 ;
2357  void *argp1 = 0 ;
2358  int res1 = 0 ;
2359 
2360  if (SWIG_GetArgs(interp, objc, objv,"o:a_coord_reset self ",(void *)0) == TCL_ERROR) SWIG_fail;
2361  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_coord, 0 | 0 );
2362  if (!SWIG_IsOK(res1)) {
2363  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_coord_reset" "', argument " "1"" of type '" "a_coord *""'");
2364  }
2365  arg1 = reinterpret_cast< a_coord * >(argp1);
2366  (arg1)->reset();
2367 
2368  return TCL_OK;
2369 fail:
2370  return TCL_ERROR;
2371 }
2372 
2373 
2374 SWIGINTERN int
2375 _wrap_a_coord_translate__SWIG_0(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2376  a_coord *arg1 = (a_coord *) 0 ;
2377  double arg2 ;
2378  double arg3 ;
2379  double arg4 ;
2380  void *argp1 = 0 ;
2381  int res1 = 0 ;
2382  double val2 ;
2383  int ecode2 = 0 ;
2384  double val3 ;
2385  int ecode3 = 0 ;
2386  double val4 ;
2387  int ecode4 = 0 ;
2388 
2389  if (SWIG_GetArgs(interp, objc, objv,"oooo:a_coord_translate self double double double ",(void *)0,(void *)0,(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
2390  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_coord, 0 | 0 );
2391  if (!SWIG_IsOK(res1)) {
2392  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_coord_translate" "', argument " "1"" of type '" "a_coord *""'");
2393  }
2394  arg1 = reinterpret_cast< a_coord * >(argp1);
2395  ecode2 = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(objv[2], &val2);
2396  if (!SWIG_IsOK(ecode2)) {
2397  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "a_coord_translate" "', argument " "2"" of type '" "double""'");
2398  }
2399  arg2 = static_cast< double >(val2);
2400  ecode3 = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(objv[3], &val3);
2401  if (!SWIG_IsOK(ecode3)) {
2402  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "a_coord_translate" "', argument " "3"" of type '" "double""'");
2403  }
2404  arg3 = static_cast< double >(val3);
2405  ecode4 = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(objv[4], &val4);
2406  if (!SWIG_IsOK(ecode4)) {
2407  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "a_coord_translate" "', argument " "4"" of type '" "double""'");
2408  }
2409  arg4 = static_cast< double >(val4);
2410  (arg1)->translate(arg2,arg3,arg4);
2411 
2412  return TCL_OK;
2413 fail:
2414  return TCL_ERROR;
2415 }
2416 
2417 
2418 SWIGINTERN int
2419 _wrap_a_coord_translate__SWIG_1(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2420  a_coord *arg1 = (a_coord *) 0 ;
2421  a_point *arg2 = 0 ;
2422  void *argp1 = 0 ;
2423  int res1 = 0 ;
2424  void *argp2 ;
2425  int res2 = 0 ;
2426 
2427  if (SWIG_GetArgs(interp, objc, objv,"oo:a_coord_translate self p ",(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
2428  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_coord, 0 | 0 );
2429  if (!SWIG_IsOK(res1)) {
2430  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_coord_translate" "', argument " "1"" of type '" "a_coord *""'");
2431  }
2432  arg1 = reinterpret_cast< a_coord * >(argp1);
2433  res2 = SWIG_ConvertPtr(objv[2], &argp2, SWIGTYPE_p_a_point, 0 );
2434  if (!SWIG_IsOK(res2)) {
2435  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "a_coord_translate" "', argument " "2"" of type '" "a_point const &""'");
2436  }
2437  if (!argp2) {
2438  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "a_coord_translate" "', argument " "2"" of type '" "a_point const &""'");
2439  }
2440  arg2 = reinterpret_cast< a_point * >(argp2);
2441  (arg1)->translate((a_point const &)*arg2);
2442 
2443  return TCL_OK;
2444 fail:
2445  return TCL_ERROR;
2446 }
2447 
2448 
2449 SWIGINTERN int
2450 _wrap_a_coord_translate(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2451  Tcl_Obj *CONST *argv = objv+1;
2452  int argc = objc-1;
2453  if (argc == 2) {
2454  int _v;
2455  void *vptr = 0;
2456  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_a_coord, 0);
2457  _v = SWIG_CheckState(res);
2458  if (_v) {
2459  void *vptr = 0;
2460  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_a_point, SWIG_POINTER_NO_NULL);
2461  _v = SWIG_CheckState(res);
2462  if (_v) {
2463  return _wrap_a_coord_translate__SWIG_1(clientData, interp, objc, argv - 1);
2464  }
2465  }
2466  }
2467  if (argc == 4) {
2468  int _v;
2469  void *vptr = 0;
2470  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_a_coord, 0);
2471  _v = SWIG_CheckState(res);
2472  if (_v) {
2473  {
2474  int res = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(argv[1], NULL);
2475  _v = SWIG_CheckState(res);
2476  }
2477  if (_v) {
2478  {
2479  int res = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(argv[2], NULL);
2480  _v = SWIG_CheckState(res);
2481  }
2482  if (_v) {
2483  {
2484  int res = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(argv[3], NULL);
2485  _v = SWIG_CheckState(res);
2486  }
2487  if (_v) {
2488  return _wrap_a_coord_translate__SWIG_0(clientData, interp, objc, argv - 1);
2489  }
2490  }
2491  }
2492  }
2493  }
2494 
2495  Tcl_SetResult(interp,(char *) "Wrong number or type of arguments for overloaded function 'a_coord_translate'.\n"
2496  " Possible C/C++ prototypes are:\n"
2497  " a_coord::translate(double,double,double)\n"
2498  " a_coord::translate(a_point const &)\n", TCL_STATIC);
2499  return TCL_ERROR;
2500 }
2501 
2502 
2503 SWIGINTERN int
2504 _wrap_a_coord_translateW__SWIG_0(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2505  a_coord *arg1 = (a_coord *) 0 ;
2506  double arg2 ;
2507  double arg3 ;
2508  double arg4 ;
2509  void *argp1 = 0 ;
2510  int res1 = 0 ;
2511  double val2 ;
2512  int ecode2 = 0 ;
2513  double val3 ;
2514  int ecode3 = 0 ;
2515  double val4 ;
2516  int ecode4 = 0 ;
2517 
2518  if (SWIG_GetArgs(interp, objc, objv,"oooo:a_coord_translateW self double double double ",(void *)0,(void *)0,(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
2519  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_coord, 0 | 0 );
2520  if (!SWIG_IsOK(res1)) {
2521  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_coord_translateW" "', argument " "1"" of type '" "a_coord *""'");
2522  }
2523  arg1 = reinterpret_cast< a_coord * >(argp1);
2524  ecode2 = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(objv[2], &val2);
2525  if (!SWIG_IsOK(ecode2)) {
2526  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "a_coord_translateW" "', argument " "2"" of type '" "double""'");
2527  }
2528  arg2 = static_cast< double >(val2);
2529  ecode3 = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(objv[3], &val3);
2530  if (!SWIG_IsOK(ecode3)) {
2531  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "a_coord_translateW" "', argument " "3"" of type '" "double""'");
2532  }
2533  arg3 = static_cast< double >(val3);
2534  ecode4 = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(objv[4], &val4);
2535  if (!SWIG_IsOK(ecode4)) {
2536  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "a_coord_translateW" "', argument " "4"" of type '" "double""'");
2537  }
2538  arg4 = static_cast< double >(val4);
2539  (arg1)->translateW(arg2,arg3,arg4);
2540 
2541  return TCL_OK;
2542 fail:
2543  return TCL_ERROR;
2544 }
2545 
2546 
2547 SWIGINTERN int
2548 _wrap_a_coord_translateW__SWIG_1(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2549  a_coord *arg1 = (a_coord *) 0 ;
2550  a_point *arg2 = 0 ;
2551  void *argp1 = 0 ;
2552  int res1 = 0 ;
2553  void *argp2 ;
2554  int res2 = 0 ;
2555 
2556  if (SWIG_GetArgs(interp, objc, objv,"oo:a_coord_translateW self p ",(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
2557  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_coord, 0 | 0 );
2558  if (!SWIG_IsOK(res1)) {
2559  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_coord_translateW" "', argument " "1"" of type '" "a_coord *""'");
2560  }
2561  arg1 = reinterpret_cast< a_coord * >(argp1);
2562  res2 = SWIG_ConvertPtr(objv[2], &argp2, SWIGTYPE_p_a_point, 0 );
2563  if (!SWIG_IsOK(res2)) {
2564  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "a_coord_translateW" "', argument " "2"" of type '" "a_point const &""'");
2565  }
2566  if (!argp2) {
2567  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "a_coord_translateW" "', argument " "2"" of type '" "a_point const &""'");
2568  }
2569  arg2 = reinterpret_cast< a_point * >(argp2);
2570  (arg1)->translateW((a_point const &)*arg2);
2571 
2572  return TCL_OK;
2573 fail:
2574  return TCL_ERROR;
2575 }
2576 
2577 
2578 SWIGINTERN int
2579 _wrap_a_coord_translateW(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2580  Tcl_Obj *CONST *argv = objv+1;
2581  int argc = objc-1;
2582  if (argc == 2) {
2583  int _v;
2584  void *vptr = 0;
2585  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_a_coord, 0);
2586  _v = SWIG_CheckState(res);
2587  if (_v) {
2588  void *vptr = 0;
2589  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_a_point, SWIG_POINTER_NO_NULL);
2590  _v = SWIG_CheckState(res);
2591  if (_v) {
2592  return _wrap_a_coord_translateW__SWIG_1(clientData, interp, objc, argv - 1);
2593  }
2594  }
2595  }
2596  if (argc == 4) {
2597  int _v;
2598  void *vptr = 0;
2599  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_a_coord, 0);
2600  _v = SWIG_CheckState(res);
2601  if (_v) {
2602  {
2603  int res = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(argv[1], NULL);
2604  _v = SWIG_CheckState(res);
2605  }
2606  if (_v) {
2607  {
2608  int res = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(argv[2], NULL);
2609  _v = SWIG_CheckState(res);
2610  }
2611  if (_v) {
2612  {
2613  int res = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(argv[3], NULL);
2614  _v = SWIG_CheckState(res);
2615  }
2616  if (_v) {
2617  return _wrap_a_coord_translateW__SWIG_0(clientData, interp, objc, argv - 1);
2618  }
2619  }
2620  }
2621  }
2622  }
2623 
2624  Tcl_SetResult(interp,(char *) "Wrong number or type of arguments for overloaded function 'a_coord_translateW'.\n"
2625  " Possible C/C++ prototypes are:\n"
2626  " a_coord::translateW(double,double,double)\n"
2627  " a_coord::translateW(a_point const &)\n", TCL_STATIC);
2628  return TCL_ERROR;
2629 }
2630 
2631 
2632 SWIGINTERN int
2633 _wrap_a_coord_scale__SWIG_0(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2634  a_coord *arg1 = (a_coord *) 0 ;
2635  double arg2 ;
2636  double arg3 ;
2637  double arg4 ;
2638  void *argp1 = 0 ;
2639  int res1 = 0 ;
2640  double val2 ;
2641  int ecode2 = 0 ;
2642  double val3 ;
2643  int ecode3 = 0 ;
2644  double val4 ;
2645  int ecode4 = 0 ;
2646 
2647  if (SWIG_GetArgs(interp, objc, objv,"oooo:a_coord_scale self double double double ",(void *)0,(void *)0,(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
2648  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_coord, 0 | 0 );
2649  if (!SWIG_IsOK(res1)) {
2650  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_coord_scale" "', argument " "1"" of type '" "a_coord *""'");
2651  }
2652  arg1 = reinterpret_cast< a_coord * >(argp1);
2653  ecode2 = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(objv[2], &val2);
2654  if (!SWIG_IsOK(ecode2)) {
2655  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "a_coord_scale" "', argument " "2"" of type '" "double""'");
2656  }
2657  arg2 = static_cast< double >(val2);
2658  ecode3 = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(objv[3], &val3);
2659  if (!SWIG_IsOK(ecode3)) {
2660  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "a_coord_scale" "', argument " "3"" of type '" "double""'");
2661  }
2662  arg3 = static_cast< double >(val3);
2663  ecode4 = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(objv[4], &val4);
2664  if (!SWIG_IsOK(ecode4)) {
2665  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "a_coord_scale" "', argument " "4"" of type '" "double""'");
2666  }
2667  arg4 = static_cast< double >(val4);
2668  (arg1)->scale(arg2,arg3,arg4);
2669 
2670  return TCL_OK;
2671 fail:
2672  return TCL_ERROR;
2673 }
2674 
2675 
2676 SWIGINTERN int
2677 _wrap_a_coord_scale__SWIG_1(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2678  a_coord *arg1 = (a_coord *) 0 ;
2679  double arg2 ;
2680  void *argp1 = 0 ;
2681  int res1 = 0 ;
2682  double val2 ;
2683  int ecode2 = 0 ;
2684 
2685  if (SWIG_GetArgs(interp, objc, objv,"oo:a_coord_scale self double ",(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
2686  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_coord, 0 | 0 );
2687  if (!SWIG_IsOK(res1)) {
2688  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_coord_scale" "', argument " "1"" of type '" "a_coord *""'");
2689  }
2690  arg1 = reinterpret_cast< a_coord * >(argp1);
2691  ecode2 = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(objv[2], &val2);
2692  if (!SWIG_IsOK(ecode2)) {
2693  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "a_coord_scale" "', argument " "2"" of type '" "double""'");
2694  }
2695  arg2 = static_cast< double >(val2);
2696  (arg1)->scale(arg2);
2697 
2698  return TCL_OK;
2699 fail:
2700  return TCL_ERROR;
2701 }
2702 
2703 
2704 SWIGINTERN int
2705 _wrap_a_coord_scale(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2706  Tcl_Obj *CONST *argv = objv+1;
2707  int argc = objc-1;
2708  if (argc == 2) {
2709  int _v;
2710  void *vptr = 0;
2711  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_a_coord, 0);
2712  _v = SWIG_CheckState(res);
2713  if (_v) {
2714  {
2715  int res = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(argv[1], NULL);
2716  _v = SWIG_CheckState(res);
2717  }
2718  if (_v) {
2719  return _wrap_a_coord_scale__SWIG_1(clientData, interp, objc, argv - 1);
2720  }
2721  }
2722  }
2723  if (argc == 4) {
2724  int _v;
2725  void *vptr = 0;
2726  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_a_coord, 0);
2727  _v = SWIG_CheckState(res);
2728  if (_v) {
2729  {
2730  int res = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(argv[1], NULL);
2731  _v = SWIG_CheckState(res);
2732  }
2733  if (_v) {
2734  {
2735  int res = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(argv[2], NULL);
2736  _v = SWIG_CheckState(res);
2737  }
2738  if (_v) {
2739  {
2740  int res = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(argv[3], NULL);
2741  _v = SWIG_CheckState(res);
2742  }
2743  if (_v) {
2744  return _wrap_a_coord_scale__SWIG_0(clientData, interp, objc, argv - 1);
2745  }
2746  }
2747  }
2748  }
2749  }
2750 
2751  Tcl_SetResult(interp,(char *) "Wrong number or type of arguments for overloaded function 'a_coord_scale'.\n"
2752  " Possible C/C++ prototypes are:\n"
2753  " a_coord::scale(double,double,double)\n"
2754  " a_coord::scale(double)\n", TCL_STATIC);
2755  return TCL_ERROR;
2756 }
2757 
2758 
2759 SWIGINTERN int
2760 _wrap_a_coord_rotateX(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2761  a_coord *arg1 = (a_coord *) 0 ;
2762  double arg2 ;
2763  void *argp1 = 0 ;
2764  int res1 = 0 ;
2765  double val2 ;
2766  int ecode2 = 0 ;
2767 
2768  if (SWIG_GetArgs(interp, objc, objv,"oo:a_coord_rotateX self double ",(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
2769  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_coord, 0 | 0 );
2770  if (!SWIG_IsOK(res1)) {
2771  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_coord_rotateX" "', argument " "1"" of type '" "a_coord *""'");
2772  }
2773  arg1 = reinterpret_cast< a_coord * >(argp1);
2774  ecode2 = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(objv[2], &val2);
2775  if (!SWIG_IsOK(ecode2)) {
2776  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "a_coord_rotateX" "', argument " "2"" of type '" "double""'");
2777  }
2778  arg2 = static_cast< double >(val2);
2779  (arg1)->rotateX(arg2);
2780 
2781  return TCL_OK;
2782 fail:
2783  return TCL_ERROR;
2784 }
2785 
2786 
2787 SWIGINTERN int
2788 _wrap_a_coord_rotateY(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2789  a_coord *arg1 = (a_coord *) 0 ;
2790  double arg2 ;
2791  void *argp1 = 0 ;
2792  int res1 = 0 ;
2793  double val2 ;
2794  int ecode2 = 0 ;
2795 
2796  if (SWIG_GetArgs(interp, objc, objv,"oo:a_coord_rotateY self double ",(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
2797  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_coord, 0 | 0 );
2798  if (!SWIG_IsOK(res1)) {
2799  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_coord_rotateY" "', argument " "1"" of type '" "a_coord *""'");
2800  }
2801  arg1 = reinterpret_cast< a_coord * >(argp1);
2802  ecode2 = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(objv[2], &val2);
2803  if (!SWIG_IsOK(ecode2)) {
2804  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "a_coord_rotateY" "', argument " "2"" of type '" "double""'");
2805  }
2806  arg2 = static_cast< double >(val2);
2807  (arg1)->rotateY(arg2);
2808 
2809  return TCL_OK;
2810 fail:
2811  return TCL_ERROR;
2812 }
2813 
2814 
2815 SWIGINTERN int
2816 _wrap_a_coord_rotateZ(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2817  a_coord *arg1 = (a_coord *) 0 ;
2818  double arg2 ;
2819  void *argp1 = 0 ;
2820  int res1 = 0 ;
2821  double val2 ;
2822  int ecode2 = 0 ;
2823 
2824  if (SWIG_GetArgs(interp, objc, objv,"oo:a_coord_rotateZ self double ",(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
2825  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_coord, 0 | 0 );
2826  if (!SWIG_IsOK(res1)) {
2827  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_coord_rotateZ" "', argument " "1"" of type '" "a_coord *""'");
2828  }
2829  arg1 = reinterpret_cast< a_coord * >(argp1);
2830  ecode2 = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(objv[2], &val2);
2831  if (!SWIG_IsOK(ecode2)) {
2832  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "a_coord_rotateZ" "', argument " "2"" of type '" "double""'");
2833  }
2834  arg2 = static_cast< double >(val2);
2835  (arg1)->rotateZ(arg2);
2836 
2837  return TCL_OK;
2838 fail:
2839  return TCL_ERROR;
2840 }
2841 
2842 
2843 SWIGINTERN int
2844 _wrap_a_coord_rotateXW(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2845  a_coord *arg1 = (a_coord *) 0 ;
2846  double arg2 ;
2847  void *argp1 = 0 ;
2848  int res1 = 0 ;
2849  double val2 ;
2850  int ecode2 = 0 ;
2851 
2852  if (SWIG_GetArgs(interp, objc, objv,"oo:a_coord_rotateXW self double ",(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
2853  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_coord, 0 | 0 );
2854  if (!SWIG_IsOK(res1)) {
2855  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_coord_rotateXW" "', argument " "1"" of type '" "a_coord *""'");
2856  }
2857  arg1 = reinterpret_cast< a_coord * >(argp1);
2858  ecode2 = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(objv[2], &val2);
2859  if (!SWIG_IsOK(ecode2)) {
2860  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "a_coord_rotateXW" "', argument " "2"" of type '" "double""'");
2861  }
2862  arg2 = static_cast< double >(val2);
2863  (arg1)->rotateXW(arg2);
2864 
2865  return TCL_OK;
2866 fail:
2867  return TCL_ERROR;
2868 }
2869 
2870 
2871 SWIGINTERN int
2872 _wrap_a_coord_rotateYW(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2873  a_coord *arg1 = (a_coord *) 0 ;
2874  double arg2 ;
2875  void *argp1 = 0 ;
2876  int res1 = 0 ;
2877  double val2 ;
2878  int ecode2 = 0 ;
2879 
2880  if (SWIG_GetArgs(interp, objc, objv,"oo:a_coord_rotateYW self double ",(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
2881  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_coord, 0 | 0 );
2882  if (!SWIG_IsOK(res1)) {
2883  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_coord_rotateYW" "', argument " "1"" of type '" "a_coord *""'");
2884  }
2885  arg1 = reinterpret_cast< a_coord * >(argp1);
2886  ecode2 = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(objv[2], &val2);
2887  if (!SWIG_IsOK(ecode2)) {
2888  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "a_coord_rotateYW" "', argument " "2"" of type '" "double""'");
2889  }
2890  arg2 = static_cast< double >(val2);
2891  (arg1)->rotateYW(arg2);
2892 
2893  return TCL_OK;
2894 fail:
2895  return TCL_ERROR;
2896 }
2897 
2898 
2899 SWIGINTERN int
2900 _wrap_a_coord_rotateZW(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2901  a_coord *arg1 = (a_coord *) 0 ;
2902  double arg2 ;
2903  void *argp1 = 0 ;
2904  int res1 = 0 ;
2905  double val2 ;
2906  int ecode2 = 0 ;
2907 
2908  if (SWIG_GetArgs(interp, objc, objv,"oo:a_coord_rotateZW self double ",(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
2909  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_coord, 0 | 0 );
2910  if (!SWIG_IsOK(res1)) {
2911  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_coord_rotateZW" "', argument " "1"" of type '" "a_coord *""'");
2912  }
2913  arg1 = reinterpret_cast< a_coord * >(argp1);
2914  ecode2 = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(objv[2], &val2);
2915  if (!SWIG_IsOK(ecode2)) {
2916  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "a_coord_rotateZW" "', argument " "2"" of type '" "double""'");
2917  }
2918  arg2 = static_cast< double >(val2);
2919  (arg1)->rotateZW(arg2);
2920 
2921  return TCL_OK;
2922 fail:
2923  return TCL_ERROR;
2924 }
2925 
2926 
2927 SWIGINTERN int
2928 _wrap_a_coord_orient__SWIG_0(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2929  a_coord *arg1 = (a_coord *) 0 ;
2930  a_mat_c *arg2 = 0 ;
2931  a_mat_c *arg3 = 0 ;
2932  a_mat_c *arg4 = 0 ;
2933  void *argp1 = 0 ;
2934  int res1 = 0 ;
2935  void *argp2 ;
2936  int res2 = 0 ;
2937  void *argp3 ;
2938  int res3 = 0 ;
2939  void *argp4 ;
2940  int res4 = 0 ;
2941 
2942  if (SWIG_GetArgs(interp, objc, objv,"oooo:a_coord_orient self o x y ",(void *)0,(void *)0,(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
2943  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_coord, 0 | 0 );
2944  if (!SWIG_IsOK(res1)) {
2945  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_coord_orient" "', argument " "1"" of type '" "a_coord *""'");
2946  }
2947  arg1 = reinterpret_cast< a_coord * >(argp1);
2948  res2 = SWIG_ConvertPtr(objv[2], &argp2, SWIGTYPE_p_a_mat_c, 0 );
2949  if (!SWIG_IsOK(res2)) {
2950  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "a_coord_orient" "', argument " "2"" of type '" "a_mat_c const &""'");
2951  }
2952  if (!argp2) {
2953  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "a_coord_orient" "', argument " "2"" of type '" "a_mat_c const &""'");
2954  }
2955  arg2 = reinterpret_cast< a_mat_c * >(argp2);
2956  res3 = SWIG_ConvertPtr(objv[3], &argp3, SWIGTYPE_p_a_mat_c, 0 );
2957  if (!SWIG_IsOK(res3)) {
2958  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "a_coord_orient" "', argument " "3"" of type '" "a_mat_c const &""'");
2959  }
2960  if (!argp3) {
2961  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "a_coord_orient" "', argument " "3"" of type '" "a_mat_c const &""'");
2962  }
2963  arg3 = reinterpret_cast< a_mat_c * >(argp3);
2964  res4 = SWIG_ConvertPtr(objv[4], &argp4, SWIGTYPE_p_a_mat_c, 0 );
2965  if (!SWIG_IsOK(res4)) {
2966  SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "a_coord_orient" "', argument " "4"" of type '" "a_mat_c const &""'");
2967  }
2968  if (!argp4) {
2969  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "a_coord_orient" "', argument " "4"" of type '" "a_mat_c const &""'");
2970  }
2971  arg4 = reinterpret_cast< a_mat_c * >(argp4);
2972  (arg1)->orient((a_mat_c const &)*arg2,(a_mat_c const &)*arg3,(a_mat_c const &)*arg4);
2973 
2974  return TCL_OK;
2975 fail:
2976  return TCL_ERROR;
2977 }
2978 
2979 
2980 SWIGINTERN int
2981 _wrap_a_coord_orient__SWIG_1(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2982  a_coord *arg1 = (a_coord *) 0 ;
2983  a_point *arg2 = 0 ;
2984  a_point *arg3 = 0 ;
2985  a_point *arg4 = 0 ;
2986  void *argp1 = 0 ;
2987  int res1 = 0 ;
2988  void *argp2 ;
2989  int res2 = 0 ;
2990  void *argp3 ;
2991  int res3 = 0 ;
2992  void *argp4 ;
2993  int res4 = 0 ;
2994 
2995  if (SWIG_GetArgs(interp, objc, objv,"oooo:a_coord_orient self o x y ",(void *)0,(void *)0,(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
2996  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_coord, 0 | 0 );
2997  if (!SWIG_IsOK(res1)) {
2998  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_coord_orient" "', argument " "1"" of type '" "a_coord *""'");
2999  }
3000  arg1 = reinterpret_cast< a_coord * >(argp1);
3001  res2 = SWIG_ConvertPtr(objv[2], &argp2, SWIGTYPE_p_a_point, 0 );
3002  if (!SWIG_IsOK(res2)) {
3003  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "a_coord_orient" "', argument " "2"" of type '" "a_point const &""'");
3004  }
3005  if (!argp2) {
3006  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "a_coord_orient" "', argument " "2"" of type '" "a_point const &""'");
3007  }
3008  arg2 = reinterpret_cast< a_point * >(argp2);
3009  res3 = SWIG_ConvertPtr(objv[3], &argp3, SWIGTYPE_p_a_point, 0 );
3010  if (!SWIG_IsOK(res3)) {
3011  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "a_coord_orient" "', argument " "3"" of type '" "a_point const &""'");
3012  }
3013  if (!argp3) {
3014  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "a_coord_orient" "', argument " "3"" of type '" "a_point const &""'");
3015  }
3016  arg3 = reinterpret_cast< a_point * >(argp3);
3017  res4 = SWIG_ConvertPtr(objv[4], &argp4, SWIGTYPE_p_a_point, 0 );
3018  if (!SWIG_IsOK(res4)) {
3019  SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "a_coord_orient" "', argument " "4"" of type '" "a_point const &""'");
3020  }
3021  if (!argp4) {
3022  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "a_coord_orient" "', argument " "4"" of type '" "a_point const &""'");
3023  }
3024  arg4 = reinterpret_cast< a_point * >(argp4);
3025  (arg1)->orient((a_point const &)*arg2,(a_point const &)*arg3,(a_point const &)*arg4);
3026 
3027  return TCL_OK;
3028 fail:
3029  return TCL_ERROR;
3030 }
3031 
3032 
3033 SWIGINTERN int
3034 _wrap_a_coord_orient(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
3035  Tcl_Obj *CONST *argv = objv+1;
3036  int argc = objc-1;
3037  if (argc == 4) {
3038  int _v;
3039  void *vptr = 0;
3040  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_a_coord, 0);
3041  _v = SWIG_CheckState(res);
3042  if (_v) {
3043  void *vptr = 0;
3044  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_a_mat_c, SWIG_POINTER_NO_NULL);
3045  _v = SWIG_CheckState(res);
3046  if (_v) {
3047  void *vptr = 0;
3048  int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_a_mat_c, SWIG_POINTER_NO_NULL);
3049  _v = SWIG_CheckState(res);
3050  if (_v) {
3051  void *vptr = 0;
3052  int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_a_mat_c, SWIG_POINTER_NO_NULL);
3053  _v = SWIG_CheckState(res);
3054  if (_v) {
3055  return _wrap_a_coord_orient__SWIG_0(clientData, interp, objc, argv - 1);
3056  }
3057  }
3058  }
3059  }
3060  }
3061  if (argc == 4) {
3062  int _v;
3063  void *vptr = 0;
3064  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_a_coord, 0);
3065  _v = SWIG_CheckState(res);
3066  if (_v) {
3067  void *vptr = 0;
3068  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_a_point, SWIG_POINTER_NO_NULL);
3069  _v = SWIG_CheckState(res);
3070  if (_v) {
3071  void *vptr = 0;
3072  int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_a_point, SWIG_POINTER_NO_NULL);
3073  _v = SWIG_CheckState(res);
3074  if (_v) {
3075  void *vptr = 0;
3076  int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_a_point, SWIG_POINTER_NO_NULL);
3077  _v = SWIG_CheckState(res);
3078  if (_v) {
3079  return _wrap_a_coord_orient__SWIG_1(clientData, interp, objc, argv - 1);
3080  }
3081  }
3082  }
3083  }
3084  }
3085 
3086  Tcl_SetResult(interp,(char *) "Wrong number or type of arguments for overloaded function 'a_coord_orient'.\n"
3087  " Possible C/C++ prototypes are:\n"
3088  " a_coord::orient(a_mat_c const &,a_mat_c const &,a_mat_c const &)\n"
3089  " a_coord::orient(a_point const &,a_point const &,a_point const &)\n", TCL_STATIC);
3090  return TCL_ERROR;
3091 }
3092 
3093 
3094 SWIGINTERN int
3095 _wrap_a_coord_w2l(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
3096  a_coord *arg1 = (a_coord *) 0 ;
3097  a_point *arg2 = 0 ;
3098  void *argp1 = 0 ;
3099  int res1 = 0 ;
3100  void *argp2 ;
3101  int res2 = 0 ;
3102  a_point result;
3103 
3104  if (SWIG_GetArgs(interp, objc, objv,"oo:a_coord_w2l self pt ",(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
3105  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_coord, 0 | 0 );
3106  if (!SWIG_IsOK(res1)) {
3107  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_coord_w2l" "', argument " "1"" of type '" "a_coord const *""'");
3108  }
3109  arg1 = reinterpret_cast< a_coord * >(argp1);
3110  res2 = SWIG_ConvertPtr(objv[2], &argp2, SWIGTYPE_p_a_point, 0 );
3111  if (!SWIG_IsOK(res2)) {
3112  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "a_coord_w2l" "', argument " "2"" of type '" "a_point const &""'");
3113  }
3114  if (!argp2) {
3115  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "a_coord_w2l" "', argument " "2"" of type '" "a_point const &""'");
3116  }
3117  arg2 = reinterpret_cast< a_point * >(argp2);
3118  result = ((a_coord const *)arg1)->w2l((a_point const &)*arg2);
3119  Tcl_SetObjResult(interp,SWIG_NewInstanceObj((new a_point(static_cast< const a_point& >(result))), SWIGTYPE_p_a_point, SWIG_POINTER_OWN | 0 ));
3120  return TCL_OK;
3121 fail:
3122  return TCL_ERROR;
3123 }
3124 
3125 
3126 SWIGINTERN int
3127 _wrap_a_coord_l2w(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
3128  a_coord *arg1 = (a_coord *) 0 ;
3129  a_point *arg2 = 0 ;
3130  void *argp1 = 0 ;
3131  int res1 = 0 ;
3132  void *argp2 ;
3133  int res2 = 0 ;
3134  a_point result;
3135 
3136  if (SWIG_GetArgs(interp, objc, objv,"oo:a_coord_l2w self pt ",(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
3137  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_coord, 0 | 0 );
3138  if (!SWIG_IsOK(res1)) {
3139  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_coord_l2w" "', argument " "1"" of type '" "a_coord const *""'");
3140  }
3141  arg1 = reinterpret_cast< a_coord * >(argp1);
3142  res2 = SWIG_ConvertPtr(objv[2], &argp2, SWIGTYPE_p_a_point, 0 );
3143  if (!SWIG_IsOK(res2)) {
3144  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "a_coord_l2w" "', argument " "2"" of type '" "a_point const &""'");
3145  }
3146  if (!argp2) {
3147  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "a_coord_l2w" "', argument " "2"" of type '" "a_point const &""'");
3148  }
3149  arg2 = reinterpret_cast< a_point * >(argp2);
3150  result = ((a_coord const *)arg1)->l2w((a_point const &)*arg2);
3151  Tcl_SetObjResult(interp,SWIG_NewInstanceObj((new a_point(static_cast< const a_point& >(result))), SWIGTYPE_p_a_point, SWIG_POINTER_OWN | 0 ));
3152  return TCL_OK;
3153 fail:
3154  return TCL_ERROR;
3155 }
3156 
3157 
3159 a_coord *arg1 = (a_coord *) obj;
3160 delete arg1;
3161 }
3163  {"name", _wrap_a_coord_name},
3164  {"deg", _wrap_a_coord_deg},
3165  {"rad", _wrap_a_coord_rad},
3166  {"mode", _wrap_a_coord_mode},
3167  {"reset", _wrap_a_coord_reset},
3168  {"translate", _wrap_a_coord_translate},
3169  {"translateW", _wrap_a_coord_translateW},
3170  {"scale", _wrap_a_coord_scale},
3171  {"rotateX", _wrap_a_coord_rotateX},
3172  {"rotateY", _wrap_a_coord_rotateY},
3173  {"rotateZ", _wrap_a_coord_rotateZ},
3174  {"rotateXW", _wrap_a_coord_rotateXW},
3175  {"rotateYW", _wrap_a_coord_rotateYW},
3176  {"rotateZW", _wrap_a_coord_rotateZW},
3177  {"orient", _wrap_a_coord_orient},
3178  {"w2l", _wrap_a_coord_w2l},
3179  {"l2w", _wrap_a_coord_l2w},
3180  {0,0}
3181 };
3183  {0,0,0}
3184 };
3185 static swig_class *swig_a_coord_bases[] = {0,0};
3186 static const char * swig_a_coord_base_names[] = {"a_coord_base *",0};
3188 
3190  { SWIG_prefix "a_base_classname", (swig_wrapper_func) _wrap_a_base_classname, NULL},
3191  { SWIG_prefix "a_base_help", (swig_wrapper_func) _wrap_a_base_help, NULL},
3192  { SWIG_prefix "a_base_small", (swig_wrapper_func) _wrap_a_base_small, NULL},
3193  { SWIG_prefix "a_base_print", (swig_wrapper_func) _wrap_a_base_print, NULL},
3194  { SWIG_prefix "new_a_base", (swig_wrapper_func) _wrap_new_a_base, NULL},
3195  { SWIG_prefix "delete_a_base", (swig_wrapper_func) _wrap_delete_a_base, NULL},
3197  { SWIG_prefix "a_coord_base_classname", (swig_wrapper_func) _wrap_a_coord_base_classname, NULL},
3198  { SWIG_prefix "a_coord_base_help", (swig_wrapper_func) _wrap_a_coord_base_help, NULL},
3199  { SWIG_prefix "new_a_coord_base", (swig_wrapper_func) _wrap_new_a_coord_base, NULL},
3200  { SWIG_prefix "delete_a_coord_base", (swig_wrapper_func) _wrap_delete_a_coord_base, NULL},
3202  { SWIG_prefix "new_a_coord", (swig_wrapper_func) _wrap_new_a_coord, NULL},
3203  { SWIG_prefix "delete_a_coord", (swig_wrapper_func) _wrap_delete_a_coord, NULL},
3204  { SWIG_prefix "a_coord_help", (swig_wrapper_func) _wrap_a_coord_help, NULL},
3205  { SWIG_prefix "a_coord_name", (swig_wrapper_func) _wrap_a_coord_name, NULL},
3206  { SWIG_prefix "a_coord_deg", (swig_wrapper_func) _wrap_a_coord_deg, NULL},
3207  { SWIG_prefix "a_coord_rad", (swig_wrapper_func) _wrap_a_coord_rad, NULL},
3208  { SWIG_prefix "a_coord_mode", (swig_wrapper_func) _wrap_a_coord_mode, NULL},
3209  { SWIG_prefix "a_coord_reset", (swig_wrapper_func) _wrap_a_coord_reset, NULL},
3210  { SWIG_prefix "a_coord_translate", (swig_wrapper_func) _wrap_a_coord_translate, NULL},
3211  { SWIG_prefix "a_coord_translateW", (swig_wrapper_func) _wrap_a_coord_translateW, NULL},
3212  { SWIG_prefix "a_coord_scale", (swig_wrapper_func) _wrap_a_coord_scale, NULL},
3213  { SWIG_prefix "a_coord_rotateX", (swig_wrapper_func) _wrap_a_coord_rotateX, NULL},
3214  { SWIG_prefix "a_coord_rotateY", (swig_wrapper_func) _wrap_a_coord_rotateY, NULL},
3215  { SWIG_prefix "a_coord_rotateZ", (swig_wrapper_func) _wrap_a_coord_rotateZ, NULL},
3216  { SWIG_prefix "a_coord_rotateXW", (swig_wrapper_func) _wrap_a_coord_rotateXW, NULL},
3217  { SWIG_prefix "a_coord_rotateYW", (swig_wrapper_func) _wrap_a_coord_rotateYW, NULL},
3218  { SWIG_prefix "a_coord_rotateZW", (swig_wrapper_func) _wrap_a_coord_rotateZW, NULL},
3219  { SWIG_prefix "a_coord_orient", (swig_wrapper_func) _wrap_a_coord_orient, NULL},
3220  { SWIG_prefix "a_coord_w2l", (swig_wrapper_func) _wrap_a_coord_w2l, NULL},
3221  { SWIG_prefix "a_coord_l2w", (swig_wrapper_func) _wrap_a_coord_l2w, NULL},
3223  {0, 0, 0}
3224 };
3225 
3227  {0,0,0,0}
3228 };
3229 
3231  {0,0,0,0,0,0}
3232 };
3233 
3234 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
3235 
3236 static void *_p_a_coordTo_p_a_coord_base(void *x, int *SWIGUNUSEDPARM(newmemory)) {
3237  return (void *)((a_coord_base *) ((a_coord *) x));
3238 }
3239 static void *_p_a_coordTo_p_a_base(void *x, int *SWIGUNUSEDPARM(newmemory)) {
3240  return (void *)((a_base *) (a_coord_base *) ((a_coord *) x));
3241 }
3242 static void *_p_a_coord_baseTo_p_a_base(void *x, int *SWIGUNUSEDPARM(newmemory)) {
3243  return (void *)((a_base *) ((a_coord_base *) x));
3244 }
3245 static swig_type_info _swigt__p_a_base = {"_p_a_base", "a_base *", 0, 0, (void*)&_wrap_class_a_base, 0};
3246 static swig_type_info _swigt__p_a_coord = {"_p_a_coord", "a_coord *", 0, 0, (void*)&_wrap_class_a_coord, 0};
3247 static swig_type_info _swigt__p_a_coord_base = {"_p_a_coord_base", "a_coord_base *", 0, 0, (void*)&_wrap_class_a_coord_base, 0};
3248 static swig_type_info _swigt__p_a_mat_c = {"_p_a_mat_c", "a_mat_c *", 0, 0, (void*)0, 0};
3249 static swig_type_info _swigt__p_a_point = {"_p_a_point", "a_point *", 0, 0, (void*)0, 0};
3250 static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
3251 
3258  &_swigt__p_char,
3259 };
3260 
3262 static swig_cast_info _swigc__p_a_coord[] = { {&_swigt__p_a_coord, 0, 0, 0},{0, 0, 0, 0}};
3264 static swig_cast_info _swigc__p_a_mat_c[] = { {&_swigt__p_a_mat_c, 0, 0, 0},{0, 0, 0, 0}};
3265 static swig_cast_info _swigc__p_a_point[] = { {&_swigt__p_a_point, 0, 0, 0},{0, 0, 0, 0}};
3266 static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
3267 
3275 };
3276 
3277 
3278 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
3279 
3280 #ifdef __cplusplus
3281 }
3282 #endif
3283 /* -----------------------------------------------------------------------------
3284  * Type initialization:
3285  * This problem is tough by the requirement that no dynamic
3286  * memory is used. Also, since swig_type_info structures store pointers to
3287  * swig_cast_info structures and swig_cast_info structures store pointers back
3288  * to swig_type_info structures, we need some lookup code at initialization.
3289  * The idea is that swig generates all the structures that are needed.
3290  * The runtime then collects these partially filled structures.
3291  * The SWIG_InitializeModule function takes these initial arrays out of
3292  * swig_module, and does all the lookup, filling in the swig_module.types
3293  * array with the correct data and linking the correct swig_cast_info
3294  * structures together.
3295  *
3296  * The generated swig_type_info structures are assigned statically to an initial
3297  * array. We just loop through that array, and handle each type individually.
3298  * First we lookup if this type has been already loaded, and if so, use the
3299  * loaded structure instead of the generated one. Then we have to fill in the
3300  * cast linked list. The cast data is initially stored in something like a
3301  * two-dimensional array. Each row corresponds to a type (there are the same
3302  * number of rows as there are in the swig_type_initial array). Each entry in
3303  * a column is one of the swig_cast_info structures for that type.
3304  * The cast_initial array is actually an array of arrays, because each row has
3305  * a variable number of columns. So to actually build the cast linked list,
3306  * we find the array of casts associated with the type, and loop through it
3307  * adding the casts to the list. The one last trick we need to do is making
3308  * sure the type pointer in the swig_cast_info struct is correct.
3309  *
3310  * First off, we lookup the cast->type name to see if it is already loaded.
3311  * There are three cases to handle:
3312  * 1) If the cast->type has already been loaded AND the type we are adding
3313  * casting info to has not been loaded (it is in this module), THEN we
3314  * replace the cast->type pointer with the type pointer that has already
3315  * been loaded.
3316  * 2) If BOTH types (the one we are adding casting info to, and the
3317  * cast->type) are loaded, THEN the cast info has already been loaded by
3318  * the previous module so we just ignore it.
3319  * 3) Finally, if cast->type has not already been loaded, then we add that
3320  * swig_cast_info to the linked list (because the cast->type) pointer will
3321  * be correct.
3322  * ----------------------------------------------------------------------------- */
3323 
3324 #ifdef __cplusplus
3325 extern "C" {
3326 #if 0
3327 } /* c-mode */
3328 #endif
3329 #endif
3330 
3331 #if 0
3332 #define SWIGRUNTIME_DEBUG
3333 #endif
3334 
3335 
3336 SWIGRUNTIME void
3337 SWIG_InitializeModule(void *clientdata) {
3338  size_t i;
3339  swig_module_info *module_head, *iter;
3340  int init;
3341 
3342  /* check to see if the circular list has been setup, if not, set it up */
3343  if (swig_module.next==0) {
3344  /* Initialize the swig_module */
3348  init = 1;
3349  } else {
3350  init = 0;
3351  }
3352 
3353  /* Try and load any already created modules */
3354  module_head = SWIG_GetModule(clientdata);
3355  if (!module_head) {
3356  /* This is the first module loaded for this interpreter */
3357  /* so set the swig module into the interpreter */
3358  SWIG_SetModule(clientdata, &swig_module);
3359  } else {
3360  /* the interpreter has loaded a SWIG module, but has it loaded this one? */
3361  iter=module_head;
3362  do {
3363  if (iter==&swig_module) {
3364  /* Our module is already in the list, so there's nothing more to do. */
3365  return;
3366  }
3367  iter=iter->next;
3368  } while (iter!= module_head);
3369 
3370  /* otherwise we must add our module into the list */
3371  swig_module.next = module_head->next;
3372  module_head->next = &swig_module;
3373  }
3374 
3375  /* When multiple interpreters are used, a module could have already been initialized in
3376  a different interpreter, but not yet have a pointer in this interpreter.
3377  In this case, we do not want to continue adding types... everything should be
3378  set up already */
3379  if (init == 0) return;
3380 
3381  /* Now work on filling in swig_module.types */
3382 #ifdef SWIGRUNTIME_DEBUG
3383  printf("SWIG_InitializeModule: size %lu\n", (unsigned long)swig_module.size);
3384 #endif
3385  for (i = 0; i < swig_module.size; ++i) {
3386  swig_type_info *type = 0;
3387  swig_type_info *ret;
3388  swig_cast_info *cast;
3389 
3390 #ifdef SWIGRUNTIME_DEBUG
3391  printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
3392 #endif
3393 
3394  /* if there is another module already loaded */
3395  if (swig_module.next != &swig_module) {
3397  }
3398  if (type) {
3399  /* Overwrite clientdata field */
3400 #ifdef SWIGRUNTIME_DEBUG
3401  printf("SWIG_InitializeModule: found type %s\n", type->name);
3402 #endif
3405 #ifdef SWIGRUNTIME_DEBUG
3406  printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name);
3407 #endif
3408  }
3409  } else {
3410  type = swig_module.type_initial[i];
3411  }
3412 
3413  /* Insert casting types */
3414  cast = swig_module.cast_initial[i];
3415  while (cast->type) {
3416  /* Don't need to add information already in the list */
3417  ret = 0;
3418 #ifdef SWIGRUNTIME_DEBUG
3419  printf("SWIG_InitializeModule: look cast %s\n", cast->type->name);
3420 #endif
3421  if (swig_module.next != &swig_module) {
3423 #ifdef SWIGRUNTIME_DEBUG
3424  if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name);
3425 #endif
3426  }
3427  if (ret) {
3428  if (type == swig_module.type_initial[i]) {
3429 #ifdef SWIGRUNTIME_DEBUG
3430  printf("SWIG_InitializeModule: skip old type %s\n", ret->name);
3431 #endif
3432  cast->type = ret;
3433  ret = 0;
3434  } else {
3435  /* Check for casting already in the list */
3436  swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type);
3437 #ifdef SWIGRUNTIME_DEBUG
3438  if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name);
3439 #endif
3440  if (!ocast) ret = 0;
3441  }
3442  }
3443 
3444  if (!ret) {
3445 #ifdef SWIGRUNTIME_DEBUG
3446  printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name);
3447 #endif
3448  if (type->cast) {
3449  type->cast->prev = cast;
3450  cast->next = type->cast;
3451  }
3452  type->cast = cast;
3453  }
3454  cast++;
3455  }
3456  /* Set entry in modules->types array equal to the type */
3457  swig_module.types[i] = type;
3458  }
3459  swig_module.types[i] = 0;
3460 
3461 #ifdef SWIGRUNTIME_DEBUG
3462  printf("**** SWIG_InitializeModule: Cast List ******\n");
3463  for (i = 0; i < swig_module.size; ++i) {
3464  int j = 0;
3466  printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
3467  while (cast->type) {
3468  printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
3469  cast++;
3470  ++j;
3471  }
3472  printf("---- Total casts: %d\n",j);
3473  }
3474  printf("**** SWIG_InitializeModule: Cast List ******\n");
3475 #endif
3476 }
3477 
3478 /* This function will propagate the clientdata field of type to
3479 * any new swig_type_info structures that have been added into the list
3480 * of equivalent types. It is like calling
3481 * SWIG_TypeClientData(type, clientdata) a second time.
3482 */
3483 SWIGRUNTIME void
3485  size_t i;
3486  swig_cast_info *equiv;
3487  static int init_run = 0;
3488 
3489  if (init_run) return;
3490  init_run = 1;
3491 
3492  for (i = 0; i < swig_module.size; i++) {
3493  if (swig_module.types[i]->clientdata) {
3494  equiv = swig_module.types[i]->cast;
3495  while (equiv) {
3496  if (!equiv->converter) {
3497  if (equiv->type && !equiv->type->clientdata)
3499  }
3500  equiv = equiv->next;
3501  }
3502  }
3503  }
3504 }
3505 
3506 #ifdef __cplusplus
3507 #if 0
3508 {
3509  /* c-mode */
3510 #endif
3511 }
3512 #endif
3513 
3514 
3515 #ifdef __cplusplus
3516 extern "C" {
3517 #endif
3518 
3519  /* -----------------------------------------------------------------------------
3520  * constants/methods manipulation
3521  * ----------------------------------------------------------------------------- */
3522 
3523  /* Install Constants */
3524 
3525  SWIGINTERN void
3526  SWIG_Tcl_InstallConstants(Tcl_Interp *interp, swig_const_info constants[]) {
3527  size_t i;
3528  Tcl_Obj *obj;
3529 
3530  if (!swigconstTableinit) {
3531  Tcl_InitHashTable(&swigconstTable, TCL_STRING_KEYS);
3532  swigconstTableinit = 1;
3533  }
3534  for (i = 0; constants[i].type; i++) {
3535  switch(constants[i].type) {
3536  case SWIG_TCL_POINTER:
3537  obj = SWIG_NewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0);
3538  break;
3539  case SWIG_TCL_BINARY:
3540  obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype));
3541  break;
3542  default:
3543  obj = 0;
3544  break;
3545  }
3546  if (obj) {
3547  SWIG_Tcl_SetConstantObj(interp, constants[i].name, obj);
3548  }
3549  }
3550  }
3551 
3552  /* Create fast method lookup tables */
3553 
3554  SWIGINTERN void
3556  size_t i;
3557 
3558  for (i = 0; i < swig_module.size; ++i) {
3560  if (type->clientdata) {
3561  swig_class* klass = (swig_class*) type->clientdata;
3562  swig_method* meth;
3563  Tcl_InitHashTable(&(klass->hashtable), TCL_STRING_KEYS);
3564  for (meth = klass->methods; meth && meth->name; ++meth) {
3565  int newEntry;
3566  Tcl_HashEntry* hashentry = Tcl_CreateHashEntry(&(klass->hashtable), meth->name, &newEntry);
3567  Tcl_SetHashValue(hashentry, (ClientData)meth->method);
3568  }
3569  }
3570  }
3571  }
3572 
3573 #ifdef __cplusplus
3574 }
3575 #endif
3576 
3577 /* -----------------------------------------------------------------------------*
3578  * Partial Init method
3579  * -----------------------------------------------------------------------------*/
3580 
3581 SWIGEXPORT int SWIG_init(Tcl_Interp *interp) {
3582  size_t i;
3583  if (interp == 0) return TCL_ERROR;
3584 #ifdef USE_TCL_STUBS
3585  /* (char*) cast is required to avoid compiler warning/error for Tcl < 8.4. */
3586  if (Tcl_InitStubs(interp, (char*)SWIG_TCL_STUBS_VERSION, 0) == NULL) {
3587  return TCL_ERROR;
3588  }
3589 #endif
3590 #ifdef USE_TK_STUBS
3591  /* (char*) cast is required to avoid compiler warning/error. */
3592  if (Tk_InitStubs(interp, (char*)SWIG_TCL_STUBS_VERSION, 0) == NULL) {
3593  return TCL_ERROR;
3594  }
3595 #endif
3596 
3597  Tcl_PkgProvide(interp, (char*)SWIG_name, (char*)SWIG_version);
3598 
3599 #ifdef SWIG_namespace
3600  Tcl_Eval(interp, "namespace eval " SWIG_namespace " { }");
3601 #endif
3602 
3603  SWIG_InitializeModule((void *) interp);
3605 
3606  for (i = 0; swig_commands[i].name; i++) {
3607  Tcl_CreateObjCommand(interp, (char *) swig_commands[i].name, (swig_wrapper_func) swig_commands[i].wrapper,
3608  swig_commands[i].clientdata, NULL);
3609  }
3610  for (i = 0; swig_variables[i].name; i++) {
3611  Tcl_SetVar(interp, (char *) swig_variables[i].name, (char *) "", TCL_GLOBAL_ONLY);
3612  Tcl_TraceVar(interp, (char *) swig_variables[i].name, TCL_TRACE_READS | TCL_GLOBAL_ONLY,
3613  (Tcl_VarTraceProc *) swig_variables[i].get, (ClientData) swig_variables[i].addr);
3614  Tcl_TraceVar(interp, (char *) swig_variables[i].name, TCL_TRACE_WRITES | TCL_GLOBAL_ONLY,
3615  (Tcl_VarTraceProc *) swig_variables[i].set, (ClientData) swig_variables[i].addr);
3616  }
3617 
3620 
3621 
3622 
3623  printf("Points&forces a_coord module.\n");
3624  printf("Type a_coord_help for an introduction.\n");
3625 
3626  return TCL_OK;
3627 }
3628 SWIGEXPORT int A_coord_SafeInit(Tcl_Interp *interp) {
3629  return SWIG_init(interp);
3630 }
3631 
SWIGRUNTIME char * SWIG_PackData(char *c, void *ptr, size_t sz)
static swig_var_info swig_variables[]
SWIGINTERNINLINE Tcl_Obj * SWIG_From_std_string(const std::string &s)
static swig_cast_info * swig_cast_initial[]
SWIGINTERN int _wrap_a_coord_mode(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
static swig_type_info _swigt__p_a_coord_base
SWIGRUNTIME int SWIG_Tcl_ObjectConstructor(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
static swig_cast_info _swigc__p_a_coord[]
SWIGRUNTIME char * SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz)
SWIGINTERN int _wrap_a_coord_translate__SWIG_0(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIG_MakePtr(c, ptr, ty, flags)
static swig_class * swig_a_coord_base_bases[]
SWIGINTERN void SWIG_Tcl_InstallConstants(Tcl_Interp *interp, swig_const_info constants[])
#define SWIG_TypeQuery(name)
SWIGINTERN int _wrap_a_coord_rad(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGINTERN int _wrap_a_coord_translate(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIG_POINTER_OWN
static swig_const_info swig_constants[]
#define SWIG_SyntaxError
SWIGINTERN void swig_delete_a_coord_base(void *obj)
#define SWIG_ConvertPtr(oc, ptr, ty, flags)
#define SWIG_CheckState(r)
SWIGRUNTIME void SWIG_Tcl_Acquire(void *ptr)
SWIGRUNTIME int SWIG_TypeEquiv(const char *nb, const char *tb)
SWIGINTERN std::string a_base_print(a_base *self)
#define SWIG_BUFFER_SIZE
struct swig_instance swig_instance
#define SWIG_TypeError
static swig_type_info _swigt__p_a_mat_c
SWIGINTERNINLINE void SWIG_Tcl_AddErrorMsg(Tcl_Interp *interp, const char *mesg)
SWIGINTERN void SWIG_Tcl_SetErrorMsg(Tcl_Interp *interp, const char *ctype, const char *mesg)
static swig_class _wrap_class_a_coord
struct swig_cast_info swig_cast_info
SWIGINTERN int _wrap_a_coord_scale__SWIG_1(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIG_init
SWIGRUNTIME Tcl_Obj * SWIG_Tcl_NewPackedObj(void *ptr, int sz, swig_type_info *type)
SWIGRUNTIME int SWIG_Tcl_MethodCommand(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[])
SWIGRUNTIME int SWIG_TypeNameComp(const char *f1, const char *l1, const char *f2, const char *l2)
static swig_cast_info _swigc__p_a_coord_base[]
SWIGRUNTIMEINLINE void * SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory)
#define SWIG_RuntimeError
#define SWIG_GetArgs
SWIGINTERN int _wrap_a_base_help(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
static swig_command_info swig_commands[]
SWIGINTERN int _wrap_a_base_small__SWIG_1(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
int(* swig_wrapper_func)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST[])
SWIGINTERN const char * SWIG_Tcl_ErrorType(int code)
SWIGRUNTIME const char * SWIG_TypePrettyName(const swig_type_info *type)
SWIGINTERN int _wrap_a_coord_rotateYW(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
static swig_method swig_a_base_methods[]
#define SWIGRUNTIME
SWIGINTERN int _wrap_a_coord_scale__SWIG_0(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGINTERN int SWIG_AsCharPtrAndSize(Tcl_Obj *obj, char **cptr, size_t *psize, int *alloc)
#define SWIG_version
#define SWIG_RUNTIME_VERSION
SWIGINTERN int _wrap_a_coord_name__SWIG_0(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGINTERN void SWIG_Tcl_SetErrorObj(Tcl_Interp *interp, const char *ctype, Tcl_Obj *obj)
#define SWIG_OLDOBJ
SWIGRUNTIME void SWIG_TypeClientData(swig_type_info *ti, void *clientdata)
static Tcl_HashTable swigconstTable
#define SWIG_MethodCommand
SWIGINTERN int _wrap_a_coord_base_classname(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIG_ValueError
SWIGRUNTIME int SWIG_Tcl_GetArgs(Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[], const char *fmt,...)
#define SWIG_AddCast(r)
static swig_attribute swig_a_coord_base_attributes[]
static const char * swig_a_coord_base_base_names[]
#define SWIG_IsNewObj(r)
#define SWIG_exception_fail(code, msg)
SWIGINTERN int _wrap_new_a_coord(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGINTERN int _wrap_a_base_small(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGRUNTIME swig_type_info * SWIG_TypeQueryModule(swig_module_info *start, swig_module_info *end, const char *name)
static swig_cast_info _swigc__p_a_base[]
#define SWIG_AttributeError
static swig_module_info swig_module
SWIGINTERN int _wrap_a_base_small__SWIG_0(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGINTERN int _wrap_a_coord_name__SWIG_1(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIGTYPE_p_a_mat_c
SWIGINTERN int _wrap_delete_a_coord(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIG_SetModule(clientdata, pointer)
SWIGINTERN int _wrap_a_coord_translateW__SWIG_1(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGRUNTIMEINLINE const char * SWIG_TypeName(const swig_type_info *ty)
SWIGINTERN int _wrap_a_coord_deg(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGINTERN int _wrap_a_coord_orient(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIGUNUSEDPARM(p)
SWIGINTERN int _wrap_new_a_base(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIGTYPE_p_a_coord_base
struct swig_class swig_class
#define SWIG_as_voidptr(a)
#define SWIGUNUSED
SWIGINTERN int _wrap_a_coord_orient__SWIG_1(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGINTERN void swig_delete_a_base(void *obj)
static swig_class * swig_a_coord_bases[]
SWIGRUNTIME void SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata)
SWIGINTERN int _wrap_a_coord_rotateZW(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGRUNTIME void SWIG_Tcl_SetModule(Tcl_Interp *interp, swig_module_info *module)
SWIGRUNTIME int SWIG_TypeCmp(const char *nb, const char *tb)
SWIGRUNTIMEINLINE int SWIG_Tcl_ConvertPtr(Tcl_Interp *interp, Tcl_Obj *oc, void **ptr, swig_type_info *ty, int flags)
SWIGINTERN int _wrap_a_coord_translate__SWIG_1(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGINTERN int _wrap_a_coord_rotateXW(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
static void * _p_a_coordTo_p_a_coord_base(void *x, int *SWIGUNUSEDPARM(newmemory))
static swig_type_info _swigt__p_a_coord
struct swig_const_info swig_const_info
SWIGINTERN int _wrap_a_coord_l2w(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGRUNTIME int SWIG_Tcl_Thisown(void *ptr)
SWIGINTERN int _wrap_a_coord_orient__SWIG_0(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGRUNTIME void SWIG_InitializeModule(void *clientdata)
SWIGRUNTIME const char * SWIG_UnpackData(const char *c, void *ptr, size_t sz)
static swig_type_info * swig_types[7]
static swig_type_info _swigt__p_a_point
SWIGINTERN void SWIG_Tcl_SetConstantObj(Tcl_Interp *interp, const char *name, Tcl_Obj *obj)
SWIGRUNTIMEINLINE Tcl_Obj * SWIG_Tcl_NewPointerObj(void *ptr, swig_type_info *type, int flags)
static swig_cast_info _swigc__p_char[]
SWIGRUNTIME swig_cast_info * SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty)
SWIGINTERN int _wrap_a_base_print(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGINTERN int _wrap_a_coord_name(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIGINTERN
SWIGINTERN int _wrap_a_coord_base_help(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIG_From_double
#define SWIGTYPE_p_a_coord
#define SWIG_ArgError(r)
SWIGINTERN int _wrap_a_coord_w2l(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIG_NewPointerObj(ptr, type, flags)
#define SWIG_Thisown(ptr)
SWIGRUNTIME const char * SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name)
void *(* swig_converter_func)(void *, int *)
#define SWIG_POINTER_NO_NULL
SWIGINTERN int _wrap_a_coord_rotateX(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIG_IOError
SWIGRUNTIME Tcl_Obj * SWIG_Tcl_NewInstanceObj(Tcl_Interp *interp, void *thisvalue, swig_type_info *type, int flags)
#define SWIG_NullReferenceError
SWIGINTERN int _wrap_a_coord_help(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGINTERN int _wrap_delete_a_base(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIG_POINTER_DISOWN
struct swig_type_info swig_type_info
SWIGINTERN int _wrap_a_coord_translateW__SWIG_0(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGRUNTIME char * SWIG_Tcl_PointerTypeFromString(char *c)
static swig_method swig_a_coord_methods[]
static swig_attribute swig_a_coord_attributes[]
#define SWIG_NEWOBJ
SWIGRUNTIME int SWIG_Tcl_Disown(void *ptr)
SWIGINTERN int _wrap_a_coord_scale(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIG_ObjectDelete
SWIGINTERN int _wrap_a_coord_rotateZ(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIG_NewPackedObj(ptr, sz, type)
#define SWIG_GetModule(clientdata)
static swig_method swig_a_coord_base_methods[]
#define SWIG_fail
SWIGRUNTIME void SWIG_PropagateClientData(void)
SWIGRUNTIME swig_cast_info * SWIG_TypeCheck(const char *c, swig_type_info *ty)
static swig_cast_info _swigc__p_a_point[]
SWIGINTERN int _wrap_a_coord_mode__SWIG_1(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGINTERN Tcl_Obj * SWIG_Tcl_GetConstantObj(const char *key)
#define SWIGTYPE_p_a_point
SWIGINTERN int _wrap_new_a_coord_base(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGINTERN int _wrap_a_coord_translateW(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGINTERNINLINE Tcl_Obj * SWIG_FromCharPtrAndSize(const char *carray, size_t size)
#define SWIG_TYPE_TABLE_NAME
SWIGRUNTIME swig_type_info * SWIG_MangledTypeQueryModule(swig_module_info *start, swig_module_info *end, const char *name)
SWIGINTERN int _wrap_a_base_classname(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGINTERN void swig_delete_a_coord(void *obj)
#define SWIGTYPE_p_a_base
static const char * swig_a_base_base_names[]
SWIGRUNTIME swig_module_info * SWIG_Tcl_GetModule(Tcl_Interp *interp)
struct swig_module_info swig_module_info
#define SWIG_TCL_POINTER
static swig_class _wrap_class_a_base
#define SWIG_Acquire(ptr)
SWIGRUNTIME void SWIG_Tcl_ObjectDelete(ClientData clientData)
#define SWIG_ERROR
#define SWIG_TCL_HASHTABLE_INIT
#define SWIG_name
SWIGRUNTIME int SWIG_Tcl_ConvertPacked(Tcl_Interp *SWIGUNUSEDPARM(interp), Tcl_Obj *obj, void *ptr, int sz, swig_type_info *ty)
#define SWIG_ObjectConstructor
static swig_type_info _swigt__p_a_base
static swig_class _wrap_class_a_coord_base
#define SWIG_NewInstanceObj(thisvalue, type, flags)
#define SWIG_Disown(ptr)
static swig_type_info * swig_type_initial[]
SWIGINTERN int _wrap_a_coord_rotateY(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
static int swigconstTableinit
struct swig_attribute swig_attribute
void(* swig_delete_func)(ClientData)
SWIGRUNTIME Tcl_HashTable * SWIG_Tcl_ObjectTable(void)
SWIGRUNTIME int SWIG_Tcl_ConvertPtrFromString(Tcl_Interp *interp, const char *c, void **ptr, swig_type_info *ty, int flags)
SWIGRUNTIME swig_type_info * SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr)
static swig_cast_info _swigc__p_a_mat_c[]
#define SWIG_MemoryError
SWIGRUNTIME const char * SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name)
#define SWIG_SystemError
#define SWIG_DivisionByZero
static swig_type_info _swigt__p_char
struct swig_method swig_method
static void * _p_a_coord_baseTo_p_a_base(void *x, int *SWIGUNUSEDPARM(newmemory))
#define SWIG_TCL_DECL_ARGS_2(arg1, arg2)
#define SWIG_OverflowError
#define SWIGEXPORT
#define SWIG_IsOK(r)
int(* swig_wrapper)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST[])
SWIGINTERN int _wrap_a_coord_reset(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGRUNTIME void SWIG_Tcl_MakePtr(char *c, void *ptr, swig_type_info *ty, int SWIGUNUSEDPARM(flags))
struct swig_type_info *(* swig_dycast_func)(void **)
#define SWIG_TCL_CALL_ARGS_2(arg1, arg2)
static swig_class * swig_a_base_bases[]
#define SWIG_IndexError
SWIGINTERN void SWIG_Tcl_InstallMethodLookupTables(void)
static const char * swig_a_coord_base_names[]
#define SWIG_TCL_STUBS_VERSION
#define SWIG_prefix
static void * _p_a_coordTo_p_a_base(void *x, int *SWIGUNUSEDPARM(newmemory))
#define SWIG_TCL_BINARY
SWIGRUNTIME char * SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz)
#define SWIG_OK
#define SWIGINTERNINLINE
static swig_attribute swig_a_base_attributes[]
SWIGINTERN int _wrap_a_coord_mode__SWIG_0(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGINTERN int _wrap_delete_a_coord_base(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGEXPORT int A_coord_SafeInit(Tcl_Interp *interp)
#define SWIGRUNTIMEINLINE
Definition: a_base.h:28
static const std::string help()
Definition: a_base.cxx:21
static const std::string help()
a coordinate system in the Points&Forces file format
Definition: a_coord.h:33
std::string name() const
Definition: a_coord.h:42
static const std::string help()
Definition: a_coord.cxx:26
a column matrix unit
Definition: a_mat_c.h:29
char buf[256]
Definition: copy.h:17
int val
swig_type_info * type
struct swig_cast_info * prev
struct swig_cast_info * next
swig_converter_func converter
swig_method * methods
swig_type_info ** type
Tcl_HashTable hashtable
struct swig_class ** bases
swig_module_info * module
void(* destructor)(void *)
swig_wrapper constructor
swig_attribute * attributes
const char ** base_names
swig_type_info ** ptype
swig_type_info ** types
swig_cast_info ** cast_initial
swig_type_info ** type_initial
struct swig_module_info * next
swig_dycast_func dcast
struct swig_cast_info * cast