cisst-saw
Loading...
Searching...
No Matches
mtsGenericObjectProxy.h
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/* ex: set filetype=cpp softtabstop=4 shiftwidth=4 tabstop=4 cindent expandtab: */
3
4/*
5 Author(s): Ankur Kapoor, Anton Deguet, Peter Kazanzides
6 Created on: 2006-05-05
7
8 (C) Copyright 2006-2025 Johns Hopkins University (JHU), All Rights Reserved.
9
10--- begin cisst license - do not edit ---
11
12This software is provided "as is" under an open source license, with
13no warranty. The complete license can be found in license.txt and
14http://www.cisst.org/cisst/license.txt.
15
16--- end cisst license ---
17*/
18
19#ifndef _mtsGenericObjectProxy_h
20#define _mtsGenericObjectProxy_h
21
27
32
35
38
39// Always include last!
41
42typedef std::vector<std::string> stdStringVec;
43typedef std::vector<double> stdDoubleVec;
44typedef std::vector<char> stdCharVec;
45typedef std::vector<vct3> stdVct3Vec;
46
47typedef std::list<std::string> stdStringList;
48
49// Forward declarations
50template <class _elementType> class mtsGenericObjectProxyBase;
51template <class _elementType> class mtsGenericObjectProxy;
52template <class _elementType> class mtsGenericObjectProxyRef;
53template <typename _elementType> class mtsGenericTypes;
54
55template <typename _elementType, bool>
57{
58 // _elementType does not have cmnData<_elementType> static methods, so use the "old" way
59public:
60 static void CISST_DEPRECATED ToStream(std::ostream & outputStream, const _elementType & data) {
61 outputStream << data;
62 }
63 static void CISST_DEPRECATED ToStreamRaw(std::ostream & outputStream, const char CMN_UNUSED(delimiter), const _elementType & data) {
64 outputStream << data;
65 }
66 static bool CISST_DEPRECATED FromStreamRaw(std::istream & CMN_UNUSED(inputStream), const char CMN_UNUSED(delimiter), _elementType & CMN_UNUSED(data)) {
67 // Could try the "stream in" operator
68 return false;
69 }
70};
71
72template <typename _elementType>
73class cmnDataProxy<_elementType, true>
74{
75 // _elementType has the cmnData<_elementType> static methods
76public:
77 static void ToStream(std::ostream & outputStream, const _elementType & data) {
78 outputStream << cmnData<_elementType>::HumanReadable(data);
79 }
80 static void ToStreamRaw(std::ostream & outputStream, const char delimiter, const _elementType & data) {
81 cmnData<_elementType>::SerializeText(data, outputStream, delimiter);
82 }
83 static bool FromStreamRaw(std::istream & inputStream, const char delimiter, _elementType & data) {
84 try {
85 cmnDataDeSerializeTextDelimiter(inputStream, delimiter, "mtsGenericObjectProxy");
86 cmnData<_elementType>::DeSerializeText(data, inputStream, delimiter);
87 } catch (...) {
88 return false;
89 }
90 if (inputStream.fail()) {
91 inputStream.clear();
92 return false;
93 }
94 return true;
95 }
96};
97
98#ifndef SWIG
99// Class services specialization for proxy objects. We assume that we always want dynamic creation.
100// The specialization is that if the dynamic_cast to the Proxy type fails, we also try to dynamic_cast
101// to the ProxyRef type.
102template <typename _elementType>
104public:
108
109 inline static cmnGenericObject * Create(const cmnGenericObject & other) {
110 const value_type * otherPointer = dynamic_cast<const value_type *>(&other);
111 if (otherPointer)
112 return new value_type(*otherPointer);
113 const value_reftype * otherRefPointer = dynamic_cast<const value_reftype *>(&other);
114 if (otherRefPointer)
115 return new value_type(otherRefPointer->GetData());
116 return 0;
117 }
118
119 inline static bool Create(cmnGenericObject * existing, const cmnGenericObject & other) {
120 // If they already point to the same memory, just return
121 if (existing == &other)
122 return true;
123 const value_type * otherPointer = dynamic_cast<const value_type *>(&other);
124 if (otherPointer) {
125 new(existing) value_type(*otherPointer);
126 return true;
127 }
128 const value_reftype * otherRefPointer = dynamic_cast<const value_reftype *>(&other);
129 if (otherRefPointer) {
130 new(existing) value_type(otherRefPointer->GetData());
131 return true;
132 }
133 return false;
134 }
135
136 inline static cmnGenericObject * CreateArray(size_t size, const cmnGenericObject & other) {
137 const value_type * otherPointer = dynamic_cast<const value_type *>(&other);
138 pointer data;
139 size_t index;
140 if (otherPointer) {
141 data = static_cast<pointer>(::operator new(sizeof(value_type) * size));
142 for (index = 0; index < size; index++) {
143 new(&(data[index])) value_type(*otherPointer); // placement new with copy constructor
144 }
145 return data;
146 }
147 const value_reftype * otherRefPointer = dynamic_cast<const value_reftype *>(&other);
148 if (otherRefPointer) {
149 data = static_cast<pointer>(::operator new(sizeof(value_type) * size));
150 for (index = 0; index < size; index++) {
151 new(&(data[index])) value_type(otherRefPointer->GetData()); // placement new with copy constructor
152 }
153 return data;
154 }
155 return 0;
156 }
157
158 inline static bool CopyConstructorAvailable(void) { return true; }
159};
160
161template<typename _class, typename _elementType>
163{
164public:
165 typedef _class value_type;
167
169 inline static _class * Create(const cmnGenericObject & arg) {
170 const mtsGenericObject *mts = dynamic_cast<const mtsGenericObject *>(&arg);
171 if (mts) return new value_type(*mtsGenericTypes<_elementType>::CastArg(*mts));
172 CMN_LOG_INIT_WARNING << "cmnConditionalObjectFactoryOneArg::Create for proxy could not create object" << std::endl;
173 return 0;
174 }
175
176 inline static bool OneArgConstructorAvailable(void) { return true; }
177
180 }
181};
182
188template<typename _class, typename _elementType>
190{
191public:
192 typedef _class value_type;
194
196 inline static _class * Create(const cmnGenericObject & arg) {
197 const mtsGenericObject *mts = dynamic_cast<const mtsGenericObject *>(&arg);
198 if (mts) {
199 const _elementType *name = mtsGenericTypes<_elementType>::CastArg(*mts);
200 if (name) {
201 _class *obj = new value_type;
202 obj->SetName(*name);
203 return obj;
204 }
205 CMN_LOG_INIT_WARNING << "cmnConditionalObjectFactoryOneArg::Create for string proxy could not get string" << std::endl;
206 return 0;
207 }
208 CMN_LOG_INIT_WARNING << "cmnConditionalObjectFactoryOneArg::Create for string proxy could not create object" << std::endl;
209 return 0;
210 }
211
212 inline static bool OneArgConstructorAvailable(void) { return true; }
213
216 }
217};
218
219template<typename _elementType>
221{
222 typedef mtsGenericObjectProxy<_elementType> value_type;
223 typedef mtsGenericObjectProxyRef<_elementType> value_reftype;
224 typedef value_type * pointer;
225 typedef cmnGenericObject * generic_pointer;
226public:
227 inline static bool DeleteArray(generic_pointer & data, size_t & size) {
228 pointer typedData = dynamic_cast<pointer>(data);
229 if (typedData) {
230 size_t index;
231 for (index = 0; index < size; index++) {
232 typedData[index].~value_type();
233 }
234 delete typedData;
235 data = 0;
236 size = 0;
237 return true;
238 }
239 return false;
240 }
241
242 inline static bool Delete(cmnGenericObject * existing) {
243 value_type * existingPointer = dynamic_cast<value_type *>(existing);
244 if (existingPointer) {
245 existingPointer->~value_type();
246 return true;
247 }
248 const value_reftype * existingRefPointer = dynamic_cast<const value_reftype *>(existing);
249 if (existingRefPointer) {
250 existingRefPointer->~value_reftype();
251 return true;
252 }
253 return false;
254 }
255};
256#endif // !SWIG
257
320template <class _elementType>
322{
323public:
328
329 typedef _elementType value_type;
330
331 // CMN_DECLARE_SERVICES_EXPORT(CMN_DYNAMIC_CREATION, CMN_LOG_LOD_RUN_ERROR);
332 // Dirty Trick: this class uses the class services of the dereferenced (derived) type
333 //enum {HAS_DYNAMIC_CREATION = DeRefType::HAS_DYNAMIC_CREATION};
334 //enum {InitialLoD = DeRefType::InitialLoD};
335 enum {HAS_DYNAMIC_CREATION = true};
338 virtual const cmnClassServicesBase * Services(void) const
339 {
341 }
342
346 {}
347
349 inline mtsGenericObjectProxyBase(const ThisType & other) :
350 BaseType(other)
351 {}
352
354
356 virtual value_type & GetData(void) = 0;
357 virtual const value_type & GetData(void) const = 0;
358
360 ThisType & operator=(const ThisType &data) {
361 this->Assign(data);
362 return *this;
363 }
364
365 virtual void Assign(const ThisType &other) {
366 this->GetData() = other.GetData();
367 this->SetValid(other.Valid());
368 this->SetTimestamp(other.Timestamp());
369 }
370
371};
372
373
374template <class _elementType>
376{
377 CMN_DECLARE_SERVICES_EXPORT_ALWAYS(CMN_DYNAMIC_CREATION, CMN_LOG_ALLOW_DEFAULT);
378
379public:
386
390 BaseType(),
391 Data()
392 {}
393
395 inline mtsGenericObjectProxy(const ThisType & other) :
396 BaseType(other), Data(other.Data)
397 {}
398
402 inline mtsGenericObjectProxy(const value_type & data):
403 Data(data)
404 {
405 this->SetValid(true);
406 }
407
409
411 inline ThisType & operator = (const ThisType & other) {
413 Data = other.Data;
414 return *this;
415 }
416
418 value_type& GetData(void) override{ return Data; }
419 const value_type& GetData(void) const override { return Data; }
420
422 ThisType & operator=(const BaseType &data) {
423 this->Assign(data);
424 return *this;
425 }
426
431 this->Data = data;
432 this->SetValid(true);
433 return *this;
434 }
435
440 inline operator value_type & (void) {
441 return this->Data;
442 }
443 inline operator const value_type & (void) const {
444 return this->Data;
445 }
446
447
449 inline void SerializeRaw(std::ostream & outputStream) const override {
450 mtsGenericObject::SerializeRaw(outputStream);
451 cmnSerializeRaw(outputStream, this->Data);
452 }
453
455 inline void DeSerializeRaw(std::istream & inputStream) override {
457 cmnDeSerializeRaw(inputStream, this->Data);
458 }
459
462 inline void ToStream(std::ostream & outputStream) const override {
463 BaseType::ToStream(outputStream);
464 outputStream << " Value: ";
466 }
467
469 inline void ToStreamRaw(std::ostream & outputStream, const char delimiter = ' ',
470 bool headerOnly = false, const std::string & headerPrefix = "") const override {
471 if (headerOnly) {
472 BaseType::ToStreamRaw(outputStream, delimiter, headerOnly, headerPrefix);
473 outputStream << delimiter << headerPrefix << "-data";
474 } else {
475 BaseType::ToStreamRaw(outputStream, delimiter);
476 outputStream << delimiter;
478 }
479 }
480
482 inline bool FromStreamRaw(std::istream & inputStream, const char delimiter = ' ') override {
483 BaseType::FromStreamRaw(inputStream, delimiter);
484 return cmnDataProxy<value_type, cmnData<value_type>::IS_SPECIALIZED>::FromStreamRaw(inputStream, delimiter, this->Data);
485 }
486};
487
488
489template <class _elementType>
490class mtsGenericObjectProxyRef: public mtsGenericObjectProxyBase<_elementType>
491{
493 inline mtsGenericObjectProxyRef(void)
494 {}
495
496public:
497 typedef mtsGenericObjectProxyRef<_elementType> ThisType;
502
504
506 inline mtsGenericObjectProxyRef(const ThisType & other) :
507 BaseType(other), rData(other.rData)
508 {}
509
513 {
514 this->SetValid(true);
515 }
516 // The const_cast can be eliminated by defining an mtsGenericObjectProxyConstRef,
517 // or by specializing mtsGenericObjectProxyRef for const objects,
518 // e.g., template <typename _elementType>
519 // class mtsGenericObjectProxyRef<const _elementType>
521 rData(*const_cast<value_type*>(&data))
522 {
523 this->SetValid(true);
524 }
525
527
529 value_type& GetData(void) { return rData; }
530 const value_type& GetData(void) const { return rData; }
531
533 ThisType & operator=(const BaseType &data) {
534 this->Assign(data);
535 return *this;
536 }
537
542 this->rData = data;
543 this->SetValid(true);
544 return *this;
545 }
546
551 inline operator value_type & (void) {
552 return this->rData;
553 }
554 inline operator const value_type & (void) const {
555 return this->rData;
556 }
557
558
560 inline void SerializeRaw(std::ostream & outputStream) const {
561 mtsGenericObject::SerializeRaw(outputStream);
562 cmnSerializeRaw(outputStream, this->rData);
563 }
564
566 inline void DeSerializeRaw(std::istream & inputStream) {
568 cmnDeSerializeRaw(inputStream, this->rData);
569 }
570
573 inline virtual void ToStream(std::ostream & outputStream) const {
574 BaseType::ToStream(outputStream);
575 outputStream << " Value(ref): ";
577 }
578
580 inline virtual void ToStreamRaw(std::ostream & outputStream, const char delimiter = ' ',
581 bool headerOnly = false, const std::string & headerPrefix = "") const {
582 if (headerOnly) {
583 BaseType::ToStreamRaw(outputStream, delimiter, headerOnly, headerPrefix);
584 outputStream << delimiter << headerPrefix << "-data(ref)";
585 } else {
586 BaseType::ToStreamRaw(outputStream, delimiter);
587 outputStream << delimiter;
589 }
590 }
591
593 inline virtual bool FromStreamRaw(std::istream & inputStream, const char delimiter = ' ') {
594 BaseType::FromStreamRaw(inputStream, delimiter);
595 return cmnDataProxy<value_type, cmnData<value_type>::IS_SPECIALIZED>::FromStreamRaw(inputStream, delimiter, this->rData);
596 }
597};
598
599
600#ifndef SWIG
602
603template<typename T, bool>
605{
606 // T is not derived from mtsGenericObject, so wrap it
607public:
611 static FinalRefType *ConditionalWrap(T &obj) { return new FinalRefType(obj); }
612 static bool IsEqual(const T &obj1, const mtsGenericObject &obj2) {
613 const FinalRefType *p2 = dynamic_cast<const FinalRefType *>(&obj2);
614 return (p2?(&obj1 == &p2->rData):false); }
615 static void ConditionalFree(const FinalRefType *obj) { delete obj;}
616 static mtsGenericObject* ConditionalCreate(const T &arg, const std::string &)
617 {
618 return new FinalType(arg);
619 }
620
621 static T* CastArg(mtsGenericObject &arg) {
622 FinalBaseType *tmp = dynamic_cast<FinalBaseType *>(&arg);
623 if (!tmp) {
624 CMN_LOG_INIT_ERROR << "CastArg could not cast from " << typeid(arg).name()
625 << " to " << typeid(FinalBaseType).name() << std::endl;
626 return 0;
627 }
628 return &(tmp->GetData());
629 }
630 static const T* CastArg(const mtsGenericObject &arg) {
631 const FinalBaseType *tmp = dynamic_cast<const FinalBaseType *>(&arg);
632 if (!tmp) {
633 CMN_LOG_INIT_ERROR << "CastArg could not cast from const " << typeid(arg).name()
634 << " to const " << typeid(FinalBaseType).name() << std::endl;
635 return 0;
636 }
637 return &(tmp->GetData());
638 }
639};
640
641template<typename T>
643{
644 // T is derived from mtsGenericObject
645public:
646 typedef T FinalBaseType;
647 typedef T FinalType;
648 typedef T FinalRefType;
649 static FinalRefType *ConditionalWrap(T &obj) { return &obj; }
650 static bool IsEqual(const T &obj1, const mtsGenericObject &obj2) { return &obj1 == &obj2; }
651 static void ConditionalFree(const FinalRefType *) {}
652 static mtsGenericObject* ConditionalCreate(const T &arg, const std::string &name) {
653 if (typeid(T) != *arg.Services()->TypeInfoPointer()) {
654 CMN_LOG_INIT_ERROR << "ConditionalCreate: argument prototype is wrong type for command \"" << name << "\" (expected \""
655 << typeid(T).name() << "\", got \""
656 << arg.Services()->TypeInfoPointer()->name() << "\")" << std::endl;
657 }
658 return new FinalType(arg);
659 }
660
661 static T* CastArg(mtsGenericObject &arg) {
662 T* temp = dynamic_cast<T * >(&arg);
663 if (!temp) {
664 CMN_LOG_INIT_ERROR << "CastArg for mts, could not cast from " << arg.Services()->GetName()
665 << " to " << T::ClassServices()->GetName() << std::endl;
666 }
667 return temp;
668 }
669
670 static const T* CastArg(const mtsGenericObject &arg) {
671 const T* temp = dynamic_cast<const T * >(&arg);
672 if (!temp) {
673 CMN_LOG_INIT_ERROR << "CastArg for mts, could not cast from const " << arg.Services()->GetName()
674 <<" to " << T::ClassServices()->GetName() << std::endl;
675 }
676 return temp;
677 }
678};
679
680template<typename T>
682{
684public:
688 static FinalRefType *ConditionalWrap(T &obj) { return impl::ConditionalWrap(obj); }
689 static bool IsEqual(const T &obj1, const mtsGenericObject &obj2) { return impl::IsEqual(obj1, obj2); }
690 static void ConditionalFree(const FinalRefType *obj) { impl::ConditionalFree(obj); }
691 static mtsGenericObject* ConditionalCreate(const T &arg, const std::string &name) {
693 if (!tmp) {
694 CMN_LOG_INIT_ERROR << "ConditionalCreate returning NULL for " << name
695 << " (maybe you should use CMN_DECLARE_SERVICES with CMN_DYNAMIC_CREATION)" << std::endl;
696 }
697 return tmp;
698 }
699
700 static T* CastArg(mtsGenericObject &arg) {
701 return impl::CastArg(arg);
702 }
703 static const T* CastArg(const mtsGenericObject &arg) {
704 return impl::CastArg(arg);
705 }
706};
707
708template<typename T, bool>
710{
711 // T is not a proxy type
712public:
713 typedef T RefType;
714 typedef T BaseType;
715};
716
717template<typename T>
719{
720 // T is a proxy type
721public:
722 typedef typename T::RefType RefType;
723 typedef typename T::BaseType BaseType;
724};
725
726template<typename T>
734
735// Some macros for creating class services
736
737#define CMN_IMPLEMENT_SERVICES_DERIVED_ONEARG(className, parentName, argType) \
738 CMN_IS_DERIVED_FROM_ASSERT(className, parentName) \
739 CMN_IMPLEMENT_SERVICES_INTERNAL(className, parentName::ClassServices(), mtsGenericTypes<argType>::FinalType)
740
741#define CMN_IMPLEMENT_SERVICES_DERIVED_ONEARG_TEMPLATED(className, parentName, argType) \
742 CMN_IS_DERIVED_FROM_ASSERT(className, parentName) \
743 CMN_IMPLEMENT_SERVICES_TEMPLATED_INTERNAL(className, parentName::ClassServices(), mtsGenericTypes<argType>::FinalType)
744#endif
745
746/* Some basic types defined here for now, could move somewhere else. */
749
752
755
758
761
764
767
770
773
776
779
782
783#if (CISST_OS == CISST_WINDOWS)
784// On Windows, size_t is unsigned __int64
787#endif
788
791
792// Add Proxy to name to distinguish this from mtsVector<std::string>
795
798
801
804
807
811
812// Now, define proxies for cisstVector classes (see also
813// mtsFixedSizeVectorTypes.h, which uses multiple inheritance,
814// rather than proxies).
833
852
871
890
909
928
947
966
985
1004
1023
1024// Define a few fixed size matrices
1025#include <cisstVector/vctFixedSizeMatrixTypes.h>
1033
1034// Transformation types (see also mtsTransformationTypes.h,
1035// which uses multiple inheritance).
1036#include <cisstVector/vctTransformationTypes.h>
1044
1045// Dynamic vectors (see also mtsVector.h, which uses
1046// multiple inheritance)
1047#include <cisstVector/vctDynamicVectorTypes.h>
1071
1072// Dynamic matrices (see also mtsMatrix.h, which uses
1073// multiple inheritance)
1074#include <cisstVector/vctDynamicMatrixTypes.h>
1082
1083#endif
Base class for class services.
Definition cmnClassServicesBase.h:46
const std::string & GetName(void) const
static bool DeleteArray(generic_pointer &data, size_t &size)
Definition mtsGenericObjectProxy.h:227
static bool Delete(cmnGenericObject *existing)
Definition mtsGenericObjectProxy.h:242
Definition cmnClassServices.h:253
value_type * pointer
Definition mtsGenericObjectProxy.h:107
static cmnGenericObject * CreateArray(size_t size, const cmnGenericObject &other)
Definition mtsGenericObjectProxy.h:136
mtsGenericObjectProxy< _elementType > value_type
Definition mtsGenericObjectProxy.h:105
static cmnGenericObject * Create(const cmnGenericObject &other)
Definition mtsGenericObjectProxy.h:109
static bool CopyConstructorAvailable(void)
Definition mtsGenericObjectProxy.h:158
static bool Create(cmnGenericObject *existing, const cmnGenericObject &other)
Definition mtsGenericObjectProxy.h:119
mtsGenericObjectProxyRef< _elementType > value_reftype
Definition mtsGenericObjectProxy.h:106
Definition cmnClassServices.h:104
static const cmnClassServicesBase * GetConstructorArgServices(void)
Definition mtsGenericObjectProxy.h:178
static _class * Create(const cmnGenericObject &arg)
Definition mtsGenericObjectProxy.h:169
mtsGenericObjectProxy< _elementType > argTypeWrapped
Definition mtsGenericObjectProxy.h:166
static const cmnClassServicesBase * GetConstructorArgServices(void)
Definition mtsGenericObjectProxy.h:214
mtsGenericObjectProxy< _elementType > argTypeWrapped
Definition mtsGenericObjectProxy.h:193
static _class * Create(const cmnGenericObject &arg)
Definition mtsGenericObjectProxy.h:196
Definition cmnClassServices.h:201
Definition cmnDataFunctions.h:51
static void ToStreamRaw(std::ostream &outputStream, const char delimiter, const _elementType &data)
Definition mtsGenericObjectProxy.h:80
static void ToStream(std::ostream &outputStream, const _elementType &data)
Definition mtsGenericObjectProxy.h:77
static bool FromStreamRaw(std::istream &inputStream, const char delimiter, _elementType &data)
Definition mtsGenericObjectProxy.h:83
Definition mtsGenericObjectProxy.h:57
static bool CISST_DEPRECATED FromStreamRaw(std::istream &CMN_UNUSED(inputStream), const char CMN_UNUSED(delimiter), _elementType &CMN_UNUSED(data))
Definition mtsGenericObjectProxy.h:66
static void CISST_DEPRECATED ToStream(std::ostream &outputStream, const _elementType &data)
Definition mtsGenericObjectProxy.h:60
static void CISST_DEPRECATED ToStreamRaw(std::ostream &outputStream, const char CMN_UNUSED(delimiter), const _elementType &data)
Definition mtsGenericObjectProxy.h:63
Base class for high level objects.
Definition cmnGenericObject.h:53
virtual void ToStreamRaw(std::ostream &outputStream, const char delimiter=' ', bool headerOnly=false, const std::string &headerPrefix="") const
virtual bool FromStreamRaw(std::istream &inputStream, const char delimiter=' ')
virtual const cmnClassServicesBase * Services(void) const =0
virtual void ToStream(std::ostream &outputStream) const
Base class for data object in cisstMultiTask.
Definition mtsGenericObject.h:52
virtual void SerializeRaw(std::ostream &outputStream) const
mtsGenericObject(void)
Definition mtsGenericObject.h:77
virtual void DeSerializeRaw(std::istream &inputStream)
Definition mtsGenericObjectProxy.h:322
virtual const value_type & GetData(void) const =0
ThisType & operator=(const ThisType &data)
Definition mtsGenericObjectProxy.h:360
virtual void Assign(const ThisType &other)
Definition mtsGenericObjectProxy.h:365
mtsGenericObject BaseType
Definition mtsGenericObjectProxy.h:325
virtual const cmnClassServicesBase * Services(void) const
Definition mtsGenericObjectProxy.h:338
_elementType value_type
Definition mtsGenericObjectProxy.h:329
static cmnClassServicesBase * ClassServices(void)
Definition mtsGenericObjectProxy.h:337
mtsGenericObjectProxyBase(void)
Definition mtsGenericObjectProxy.h:345
@ InitialLoD
Definition mtsGenericObjectProxy.h:336
mtsGenericObjectProxy< _elementType > DeRefType
Definition mtsGenericObjectProxy.h:326
mtsGenericObjectProxyBase(const ThisType &other)
Definition mtsGenericObjectProxy.h:349
@ HAS_DYNAMIC_CREATION
Definition mtsGenericObjectProxy.h:335
virtual value_type & GetData(void)=0
mtsGenericObjectProxyRef< _elementType > RefType
Definition mtsGenericObjectProxy.h:327
mtsGenericObjectProxyBase< _elementType > ThisType
Definition mtsGenericObjectProxy.h:324
~mtsGenericObjectProxyBase(void)
Definition mtsGenericObjectProxy.h:353
Definition mtsGenericObjectProxy.h:376
mtsGenericObjectProxy< mtsComponentState > ThisType
Definition mtsGenericObjectProxy.h:380
ThisType & operator=(value_type data)
Definition mtsGenericObjectProxy.h:430
void ToStreamRaw(std::ostream &outputStream, const char delimiter=' ', bool headerOnly=false, const std::string &headerPrefix="") const override
Definition mtsGenericObjectProxy.h:469
void SerializeRaw(std::ostream &outputStream) const override
Definition mtsGenericObjectProxy.h:449
void ToStream(std::ostream &outputStream) const override
Definition mtsGenericObjectProxy.h:462
mtsGenericObjectProxyBase< mtsComponentState >::value_type value_type
Definition mtsGenericObjectProxy.h:382
value_type Data
Definition mtsGenericObjectProxy.h:385
mtsGenericObjectProxyBase< mtsComponentState >::DeRefType DeRefType
Definition mtsGenericObjectProxy.h:383
bool FromStreamRaw(std::istream &inputStream, const char delimiter=' ') override
Definition mtsGenericObjectProxy.h:482
mtsGenericObjectProxy(const ThisType &other)
Definition mtsGenericObjectProxy.h:395
mtsGenericObjectProxyBase< mtsComponentState > BaseType
Definition mtsGenericObjectProxy.h:381
mtsGenericObjectProxy(const value_type &data)
Definition mtsGenericObjectProxy.h:402
mtsGenericObjectProxyBase< mtsComponentState >::RefType RefType
Definition mtsGenericObjectProxy.h:384
mtsGenericObjectProxy(void)
Definition mtsGenericObjectProxy.h:389
const value_type & GetData(void) const override
Definition mtsGenericObjectProxy.h:419
~mtsGenericObjectProxy(void)
Definition mtsGenericObjectProxy.h:408
ThisType & operator=(const BaseType &data)
Definition mtsGenericObjectProxy.h:422
void DeSerializeRaw(std::istream &inputStream) override
Definition mtsGenericObjectProxy.h:455
value_type & GetData(void) override
Definition mtsGenericObjectProxy.h:418
ThisType & operator=(const ThisType &other)
Definition mtsGenericObjectProxy.h:411
Definition mtsGenericObjectProxy.h:491
mtsGenericObjectProxyRef< _elementType > ThisType
Definition mtsGenericObjectProxy.h:497
~mtsGenericObjectProxyRef(void)
Definition mtsGenericObjectProxy.h:526
mtsGenericObjectProxyBase< _elementType >::RefType RefType
Definition mtsGenericObjectProxy.h:501
void DeSerializeRaw(std::istream &inputStream)
Definition mtsGenericObjectProxy.h:566
mtsGenericObjectProxyBase< _elementType > BaseType
Definition mtsGenericObjectProxy.h:498
value_type & rData
Definition mtsGenericObjectProxy.h:503
const value_type & GetData(void) const
Definition mtsGenericObjectProxy.h:530
virtual void ToStream(std::ostream &outputStream) const
Definition mtsGenericObjectProxy.h:573
virtual void ToStreamRaw(std::ostream &outputStream, const char delimiter=' ', bool headerOnly=false, const std::string &headerPrefix="") const
Definition mtsGenericObjectProxy.h:580
mtsGenericObjectProxyRef(const ThisType &other)
Definition mtsGenericObjectProxy.h:506
ThisType & operator=(const BaseType &data)
Definition mtsGenericObjectProxy.h:533
virtual bool FromStreamRaw(std::istream &inputStream, const char delimiter=' ')
Definition mtsGenericObjectProxy.h:593
ThisType & operator=(value_type data)
Definition mtsGenericObjectProxy.h:541
mtsGenericObjectProxyRef(value_type &data)
Definition mtsGenericObjectProxy.h:512
value_type & GetData(void)
Definition mtsGenericObjectProxy.h:529
void SerializeRaw(std::ostream &outputStream) const
Definition mtsGenericObjectProxy.h:560
mtsGenericObjectProxyRef(const value_type &data)
Definition mtsGenericObjectProxy.h:520
mtsGenericObjectProxyBase< _elementType >::value_type value_type
Definition mtsGenericObjectProxy.h:499
mtsGenericObjectProxyBase< _elementType >::DeRefType DeRefType
Definition mtsGenericObjectProxy.h:500
Definition mtsGenericObjectProxy.h:682
static T * CastArg(mtsGenericObject &arg)
Definition mtsGenericObjectProxy.h:700
static mtsGenericObject * ConditionalCreate(const T &arg, const std::string &name)
Definition mtsGenericObjectProxy.h:691
static bool IsEqual(const T &obj1, const mtsGenericObject &obj2)
Definition mtsGenericObjectProxy.h:689
static void ConditionalFree(const FinalRefType *obj)
Definition mtsGenericObjectProxy.h:690
static const T * CastArg(const mtsGenericObject &arg)
Definition mtsGenericObjectProxy.h:703
mtsGenericTypesImpl< ArgumentType, cmnIsDerivedFrom< ArgumentType, mtsGenericObject >::IS_DERIVED >::FinalBaseType FinalBaseType
Definition mtsGenericObjectProxy.h:685
static FinalRefType * ConditionalWrap(T &obj)
Definition mtsGenericObjectProxy.h:688
mtsGenericTypesImpl< ArgumentType, cmnIsDerivedFrom< ArgumentType, mtsGenericObject >::IS_DERIVED >::FinalRefType FinalRefType
Definition mtsGenericObjectProxy.h:687
mtsGenericTypesImpl< ArgumentType, cmnIsDerivedFrom< ArgumentType, mtsGenericObject >::IS_DERIVED >::FinalType FinalType
Definition mtsGenericObjectProxy.h:686
static const T * CastArg(const mtsGenericObject &arg)
Definition mtsGenericObjectProxy.h:670
T FinalType
Definition mtsGenericObjectProxy.h:647
static T * CastArg(mtsGenericObject &arg)
Definition mtsGenericObjectProxy.h:661
T FinalBaseType
Definition mtsGenericObjectProxy.h:646
static void ConditionalFree(const FinalRefType *)
Definition mtsGenericObjectProxy.h:651
static FinalRefType * ConditionalWrap(T &obj)
Definition mtsGenericObjectProxy.h:649
T FinalRefType
Definition mtsGenericObjectProxy.h:648
static bool IsEqual(const T &obj1, const mtsGenericObject &obj2)
Definition mtsGenericObjectProxy.h:650
static mtsGenericObject * ConditionalCreate(const T &arg, const std::string &name)
Definition mtsGenericObjectProxy.h:652
Definition mtsGenericObjectProxy.h:605
static mtsGenericObject * ConditionalCreate(const T &arg, const std::string &)
Definition mtsGenericObjectProxy.h:616
static void ConditionalFree(const FinalRefType *obj)
Definition mtsGenericObjectProxy.h:615
mtsGenericObjectProxyBase< T > FinalBaseType
Definition mtsGenericObjectProxy.h:608
static T * CastArg(mtsGenericObject &arg)
Definition mtsGenericObjectProxy.h:621
mtsGenericObjectProxyRef< T > FinalRefType
Definition mtsGenericObjectProxy.h:610
static bool IsEqual(const T &obj1, const mtsGenericObject &obj2)
Definition mtsGenericObjectProxy.h:612
mtsGenericObjectProxy< T > FinalType
Definition mtsGenericObjectProxy.h:609
static FinalRefType * ConditionalWrap(T &obj)
Definition mtsGenericObjectProxy.h:611
static const T * CastArg(const mtsGenericObject &arg)
Definition mtsGenericObjectProxy.h:630
Definition mtsGenericObjectProxy.h:728
mtsGenericTypesUnwrapImpl< ArgumentQueueType, cmnIsDerivedFromTemplated< ArgumentQueueType, mtsGenericObjectProxyBase >::IS_DERIVED >::BaseType BaseType
Definition mtsGenericObjectProxy.h:732
mtsGenericTypesUnwrapImpl< ArgumentQueueType, cmnIsDerivedFromTemplated< ArgumentQueueType, mtsGenericObjectProxyBase >::IS_DERIVED >::RefType RefType
Definition mtsGenericObjectProxy.h:731
T::RefType RefType
Definition mtsGenericObjectProxy.h:722
T::BaseType BaseType
Definition mtsGenericObjectProxy.h:723
Definition mtsGenericObjectProxy.h:710
T BaseType
Definition mtsGenericObjectProxy.h:714
T RefType
Definition mtsGenericObjectProxy.h:713
Class register definitions and log macros.
const int CMN_DYNAMIC_CREATION_ONEARG
Definition cmnClassRegisterMacros.h:330
#define CMN_DECLARE_SERVICES_INSTANTIATION(className)
Definition cmnClassRegisterMacros.h:199
const int CMN_DYNAMIC_CREATION_SETNAME
Definition cmnClassRegisterMacros.h:329
const int CMN_DYNAMIC_CREATION
Definition cmnClassRegisterMacros.h:328
Declaration of cmnDeSerializer and functions cmnDeSerializeRaw.
void cmnDeSerializeRaw(std::istream &inputStream, _elementType &data) CISST_THROW(std
Definition cmnDeSerializer.h:82
#define CMN_LOG_ALLOW_DEFAULT
Definition cmnLogLoD.h:76
#define CMN_LOG_INIT_WARNING
Definition cmnLogger.h:163
#define CMN_LOG_INIT_ERROR
Definition cmnLogger.h:162
Portability across compilers and operating systems tools.
#define CMN_UNUSED(argument)
Definition cmnPortability.h:497
#define CISST_DEPRECATED
Definition cmnPortability.h:314
Declaration of cmnSerializer and functions cmnSerializeRaw.
void cmnSerializeRaw(std::ostream &outputStream, const _elementType &data) CISST_THROW(std
Definition cmnSerializer.h:76
Declaration of the class cmnTypeTraits.
Rules of exporting.
Forward declarations and #define for cisstMultiTask.
Defines mtsGenericObject.
mtsGenericObjectProxy< vctFloatVec > mtsVctFloatVec
Definition mtsGenericObjectProxy.h:1051
mtsGenericObjectProxy< vct4x4 > mtsVct4x4
Definition mtsGenericObjectProxy.h:1031
mtsGenericObjectProxy< stdStringList > mtsStdStringListProxy
Definition mtsGenericObjectProxy.h:805
mtsGenericObjectProxy< vctChar3 > mtsVctChar3
Definition mtsGenericObjectProxy.h:971
mtsGenericObjectProxy< vctInt1 > mtsVctInt1
Definition mtsGenericObjectProxy.h:891
mtsGenericObjectProxy< vctUInt3 > mtsVctUInt3
Definition mtsGenericObjectProxy.h:914
mtsGenericObjectProxy< vctShort3 > mtsVctShort3
Definition mtsGenericObjectProxy.h:933
mtsGenericObjectProxy< vctChar8 > mtsVctChar8
Definition mtsGenericObjectProxy.h:981
mtsGenericObjectProxy< vctIntVec > mtsVctIntVec
Definition mtsGenericObjectProxy.h:1053
mtsGenericObjectProxy< vctLong5 > mtsVctLong5
Definition mtsGenericObjectProxy.h:861
mtsGenericObjectProxy< vctUShort2 > mtsVctUShort2
Definition mtsGenericObjectProxy.h:950
mtsGenericObjectProxy< vctFloatMat > mtsVctFloatMat
Definition mtsGenericObjectProxy.h:1078
mtsGenericObjectProxy< vctFrm3 > mtsVctFrm3
Definition mtsGenericObjectProxy.h:1040
mtsGenericObjectProxy< vctBool7 > mtsVctBool7
Definition mtsGenericObjectProxy.h:1017
mtsGenericObjectProxy< vctShort1 > mtsVctShort1
Definition mtsGenericObjectProxy.h:929
mtsGenericObjectProxy< vctLong4 > mtsVctLong4
Definition mtsGenericObjectProxy.h:859
mtsGenericObjectProxy< stdDoubleVec > mtsStdDoubleVecProxy
Definition mtsGenericObjectProxy.h:796
mtsGenericObjectProxy< vctShort2 > mtsVctShort2
Definition mtsGenericObjectProxy.h:931
mtsGenericObjectProxy< short > mtsShort
Definition mtsGenericObjectProxy.h:768
mtsGenericObjectProxy< vct1 > mtsVct1
Definition mtsGenericObjectProxy.h:815
std::vector< vct3 > stdVct3Vec
Definition mtsGenericObjectProxy.h:45
mtsGenericObjectProxy< vctFloat3 > mtsVctFloat3
Definition mtsGenericObjectProxy.h:838
mtsGenericObjectProxy< vctChar6 > mtsVctChar6
Definition mtsGenericObjectProxy.h:977
mtsGenericObjectProxy< vctInt5 > mtsVctInt5
Definition mtsGenericObjectProxy.h:899
mtsGenericObjectProxy< int > mtsInt
Definition mtsGenericObjectProxy.h:762
mtsGenericObjectProxy< vctFloat6 > mtsVctFloat6
Definition mtsGenericObjectProxy.h:844
mtsGenericObjectProxy< vctUChar8 > mtsVctUChar8
Definition mtsGenericObjectProxy.h:1000
mtsGenericObjectProxy< vctUShort6 > mtsVctUShort6
Definition mtsGenericObjectProxy.h:958
mtsGenericObjectProxy< vctFloat2 > mtsVctFloat2
Definition mtsGenericObjectProxy.h:836
mtsGenericObjectProxy< vctShort4 > mtsVctShort4
Definition mtsGenericObjectProxy.h:935
mtsGenericObjectProxy< vctULong2 > mtsVctULong2
Definition mtsGenericObjectProxy.h:874
mtsGenericObjectProxy< vct6 > mtsVct6
Definition mtsGenericObjectProxy.h:825
mtsGenericObjectProxy< vctInt6 > mtsVctInt6
Definition mtsGenericObjectProxy.h:901
mtsGenericObjectProxy< vctFloat9 > mtsVctFloat9
Definition mtsGenericObjectProxy.h:850
mtsGenericObjectProxy< double > mtsDouble
Definition mtsGenericObjectProxy.h:747
std::vector< double > stdDoubleVec
Definition mtsGenericObjectProxy.h:43
mtsGenericObjectProxy< long > mtsLong
Definition mtsGenericObjectProxy.h:753
mtsGenericObjectProxy< vctLong8 > mtsVctLong8
Definition mtsGenericObjectProxy.h:867
mtsGenericObjectProxy< vctShort8 > mtsVctShort8
Definition mtsGenericObjectProxy.h:943
mtsGenericObjectProxy< vctULong8 > mtsVctULong8
Definition mtsGenericObjectProxy.h:886
mtsGenericObjectProxy< vctUShort5 > mtsVctUShort5
Definition mtsGenericObjectProxy.h:956
std::vector< char > stdCharVec
Definition mtsGenericObjectProxy.h:44
mtsGenericObjectProxy< vctULong4 > mtsVctULong4
Definition mtsGenericObjectProxy.h:878
mtsGenericObjectProxy< stdVct3Vec > mtsStdVct3VecProxy
Definition mtsGenericObjectProxy.h:802
mtsGenericObjectProxy< vctInt9 > mtsVctInt9
Definition mtsGenericObjectProxy.h:907
mtsGenericObjectProxy< vctLong7 > mtsVctLong7
Definition mtsGenericObjectProxy.h:865
mtsGenericObjectProxy< vctBool8 > mtsVctBool8
Definition mtsGenericObjectProxy.h:1019
mtsGenericObjectProxy< vctIntMat > mtsVctIntMat
Definition mtsGenericObjectProxy.h:1080
mtsGenericObjectProxy< vctUChar5 > mtsVctUChar5
Definition mtsGenericObjectProxy.h:994
mtsGenericObjectProxy< vctInt3 > mtsVctInt3
Definition mtsGenericObjectProxy.h:895
mtsGenericObjectProxy< vctULong6 > mtsVctULong6
Definition mtsGenericObjectProxy.h:882
mtsGenericObjectProxy< vctUChar6 > mtsVctUChar6
Definition mtsGenericObjectProxy.h:996
mtsGenericObjectProxy< vctUShort9 > mtsVctUShort9
Definition mtsGenericObjectProxy.h:964
mtsGenericObjectProxy< vctDoubleVec > mtsVctDoubleVec
Definition mtsGenericObjectProxy.h:1049
mtsGenericObjectProxy< vctULong7 > mtsVctULong7
Definition mtsGenericObjectProxy.h:884
mtsGenericObjectProxy< vctShortVec > mtsVctShortVec
Definition mtsGenericObjectProxy.h:1063
mtsGenericObjectProxy< vct3 > mtsVct3
Definition mtsGenericObjectProxy.h:819
mtsGenericObjectProxy< vctBool1 > mtsVctBool1
Definition mtsGenericObjectProxy.h:1005
mtsGenericObjectProxy< vctFloat1 > mtsVctFloat1
Definition mtsGenericObjectProxy.h:834
mtsGenericObjectProxy< vctUInt1 > mtsVctUInt1
Definition mtsGenericObjectProxy.h:910
mtsGenericObjectProxy< vctUShort7 > mtsVctUShort7
Definition mtsGenericObjectProxy.h:960
mtsGenericObjectProxy< vctInt7 > mtsVctInt7
Definition mtsGenericObjectProxy.h:903
mtsGenericObjectProxy< vct7 > mtsVct7
Definition mtsGenericObjectProxy.h:827
mtsGenericObjectProxy< vctUChar7 > mtsVctUChar7
Definition mtsGenericObjectProxy.h:998
mtsGenericObjectProxy< vctUInt4 > mtsVctUInt4
Definition mtsGenericObjectProxy.h:916
mtsGenericObjectProxy< stdCharVec > mtsStdCharVecProxy
Definition mtsGenericObjectProxy.h:799
mtsGenericObjectProxy< vctLong9 > mtsVctLong9
Definition mtsGenericObjectProxy.h:869
mtsGenericObjectProxy< vctBool6 > mtsVctBool6
Definition mtsGenericObjectProxy.h:1015
mtsGenericObjectProxy< vctFloat4 > mtsVctFloat4
Definition mtsGenericObjectProxy.h:840
mtsGenericObjectProxy< vctULong1 > mtsVctULong1
Definition mtsGenericObjectProxy.h:872
mtsGenericObjectProxy< vctLongVec > mtsVctLongVec
Definition mtsGenericObjectProxy.h:1067
mtsGenericObjectProxy< vctUInt6 > mtsVctUInt6
Definition mtsGenericObjectProxy.h:920
mtsGenericObjectProxy< vct2 > mtsVct2
Definition mtsGenericObjectProxy.h:817
mtsGenericObjectProxy< vctUChar2 > mtsVctUChar2
Definition mtsGenericObjectProxy.h:988
mtsGenericObjectProxy< vctUShort1 > mtsVctUShort1
Definition mtsGenericObjectProxy.h:948
mtsGenericObjectProxy< vctUShortVec > mtsVctUShortVec
Definition mtsGenericObjectProxy.h:1065
mtsGenericObjectProxy< vctCharVec > mtsVctCharVec
Definition mtsGenericObjectProxy.h:1057
mtsGenericObjectProxy< float > mtsFloat
Definition mtsGenericObjectProxy.h:750
mtsGenericObjectProxy< vctBool5 > mtsVctBool5
Definition mtsGenericObjectProxy.h:1013
mtsGenericObjectProxy< vctShort5 > mtsVctShort5
Definition mtsGenericObjectProxy.h:937
mtsGenericObjectProxy< vctLong1 > mtsVctLong1
Definition mtsGenericObjectProxy.h:853
std::list< std::string > stdStringList
Definition mtsGenericObjectProxy.h:47
mtsGenericObjectProxy< vctULong9 > mtsVctULong9
Definition mtsGenericObjectProxy.h:888
mtsGenericObjectProxy< vctFloat5 > mtsVctFloat5
Definition mtsGenericObjectProxy.h:842
mtsGenericObjectProxy< vctUInt5 > mtsVctUInt5
Definition mtsGenericObjectProxy.h:918
mtsGenericObjectProxy< vctUChar4 > mtsVctUChar4
Definition mtsGenericObjectProxy.h:992
mtsGenericObjectProxy< vctChar1 > mtsVctChar1
Definition mtsGenericObjectProxy.h:967
mtsGenericObjectProxy< size_t > mtsSizeT
Definition mtsGenericObjectProxy.h:785
mtsGenericObjectProxy< vctUChar9 > mtsVctUChar9
Definition mtsGenericObjectProxy.h:1002
mtsGenericObjectProxy< vctUShort3 > mtsVctUShort3
Definition mtsGenericObjectProxy.h:952
mtsGenericObjectProxy< unsigned int > mtsUInt
Definition mtsGenericObjectProxy.h:765
mtsGenericObjectProxy< vctLong6 > mtsVctLong6
Definition mtsGenericObjectProxy.h:863
mtsGenericObjectProxy< vctFloat7 > mtsVctFloat7
Definition mtsGenericObjectProxy.h:846
mtsGenericObjectProxy< vctULong3 > mtsVctULong3
Definition mtsGenericObjectProxy.h:876
mtsGenericObjectProxy< vctFrm4x4 > mtsVctFrm4x4
Definition mtsGenericObjectProxy.h:1042
mtsGenericObjectProxy< char > mtsChar
Definition mtsGenericObjectProxy.h:774
mtsGenericObjectProxy< vctChar7 > mtsVctChar7
Definition mtsGenericObjectProxy.h:979
mtsGenericObjectProxy< unsigned short > mtsUShort
Definition mtsGenericObjectProxy.h:771
mtsGenericObjectProxy< vctULongVec > mtsVctULongVec
Definition mtsGenericObjectProxy.h:1069
mtsGenericObjectProxy< vct8 > mtsVct8
Definition mtsGenericObjectProxy.h:829
mtsGenericObjectProxy< vctUShort8 > mtsVctUShort8
Definition mtsGenericObjectProxy.h:962
mtsGenericObjectProxy< vctUChar3 > mtsVctUChar3
Definition mtsGenericObjectProxy.h:990
mtsGenericObjectProxy< vctUInt9 > mtsVctUInt9
Definition mtsGenericObjectProxy.h:926
mtsGenericObjectProxy< vctFloat8 > mtsVctFloat8
Definition mtsGenericObjectProxy.h:848
mtsGenericObjectProxy< vctLong2 > mtsVctLong2
Definition mtsGenericObjectProxy.h:855
mtsGenericObjectProxy< vctUInt2 > mtsVctUInt2
Definition mtsGenericObjectProxy.h:912
mtsGenericObjectProxy< vctBool4 > mtsVctBool4
Definition mtsGenericObjectProxy.h:1011
mtsGenericObjectProxy< vctULong5 > mtsVctULong5
Definition mtsGenericObjectProxy.h:880
mtsGenericObjectProxy< vctBool3 > mtsVctBool3
Definition mtsGenericObjectProxy.h:1009
mtsGenericObjectProxy< vctBool9 > mtsVctBool9
Definition mtsGenericObjectProxy.h:1021
mtsGenericObjectProxy< vctInt8 > mtsVctInt8
Definition mtsGenericObjectProxy.h:905
mtsGenericObjectProxy< vct9 > mtsVct9
Definition mtsGenericObjectProxy.h:831
mtsGenericObjectProxy< vctUCharVec > mtsVctUCharVec
Definition mtsGenericObjectProxy.h:1059
mtsGenericObjectProxy< long long > mtsLongLong
Definition mtsGenericObjectProxy.h:756
mtsGenericObjectProxy< vct3x3 > mtsVct3x3
Definition mtsGenericObjectProxy.h:1029
mtsGenericObjectProxy< cmnJointType > cmnJointTypeProxy
Definition mtsGenericObjectProxy.h:809
mtsGenericObjectProxy< vctChar9 > mtsVctChar9
Definition mtsGenericObjectProxy.h:983
mtsGenericObjectProxy< vctUInt8 > mtsVctUInt8
Definition mtsGenericObjectProxy.h:924
mtsGenericObjectProxy< vct2x2 > mtsVct2x2
Definition mtsGenericObjectProxy.h:1027
mtsGenericObjectProxy< stdStringVec > mtsStdStringVecProxy
Definition mtsGenericObjectProxy.h:793
mtsGenericObjectProxy< std::string > mtsStdString
Definition mtsGenericObjectProxy.h:789
mtsGenericObjectProxy< vctLong3 > mtsVctLong3
Definition mtsGenericObjectProxy.h:857
mtsGenericObjectProxy< vctShort9 > mtsVctShort9
Definition mtsGenericObjectProxy.h:945
mtsGenericObjectProxy< vctUInt7 > mtsVctUInt7
Definition mtsGenericObjectProxy.h:922
std::vector< std::string > stdStringVec
Definition mtsGenericObjectProxy.h:42
mtsGenericObjectProxy< bool > mtsBool
Definition mtsGenericObjectProxy.h:780
mtsGenericObjectProxy< vct4 > mtsVct4
Definition mtsGenericObjectProxy.h:821
mtsGenericObjectProxy< unsigned char > mtsUChar
Definition mtsGenericObjectProxy.h:777
mtsGenericObjectProxy< vctUShort4 > mtsVctUShort4
Definition mtsGenericObjectProxy.h:954
mtsGenericObjectProxy< vctShort6 > mtsVctShort6
Definition mtsGenericObjectProxy.h:939
mtsGenericObjectProxy< vctDoubleMat > mtsVctDoubleMat
Definition mtsGenericObjectProxy.h:1076
mtsGenericObjectProxy< unsigned long > mtsULong
Definition mtsGenericObjectProxy.h:759
mtsGenericObjectProxy< vctBoolVec > mtsVctBoolVec
Definition mtsGenericObjectProxy.h:1061
mtsGenericObjectProxy< vct5 > mtsVct5
Definition mtsGenericObjectProxy.h:823
mtsGenericObjectProxy< vctInt2 > mtsVctInt2
Definition mtsGenericObjectProxy.h:893
mtsGenericObjectProxy< vctShort7 > mtsVctShort7
Definition mtsGenericObjectProxy.h:941
mtsGenericObjectProxy< vctMatRot3 > mtsVctMatRot3
Definition mtsGenericObjectProxy.h:1038
mtsGenericObjectProxy< vctUChar1 > mtsVctUChar1
Definition mtsGenericObjectProxy.h:986
mtsGenericObjectProxy< vctUIntVec > mtsVctUIntVec
Definition mtsGenericObjectProxy.h:1055
mtsGenericObjectProxy< vctBool2 > mtsVctBool2
Definition mtsGenericObjectProxy.h:1007
mtsGenericObjectProxy< vctChar5 > mtsVctChar5
Definition mtsGenericObjectProxy.h:975
mtsGenericObjectProxy< vctInt4 > mtsVctInt4
Definition mtsGenericObjectProxy.h:897
mtsGenericObjectProxy< vctChar2 > mtsVctChar2
Definition mtsGenericObjectProxy.h:969
mtsGenericObjectProxy< vctChar4 > mtsVctChar4
Definition mtsGenericObjectProxy.h:973
size_type size(void) const
Definition vctDynamicConstMatrixBase.h:228
vctDynamicMatrix< int > vctIntMat
Definition vctDynamicMatrixTypes.h:38
vctDynamicMatrix< float > vctFloatMat
Definition vctDynamicMatrixTypes.h:37
vctDynamicVector< long > vctLongVec
Definition vctDynamicVectorTypes.h:47
vctDynamicVector< float > vctFloatVec
Definition vctDynamicVectorTypes.h:39
vctDynamicVector< unsigned char > vctUCharVec
Definition vctDynamicVectorTypes.h:43
vctDynamicVector< unsigned long > vctULongVec
Definition vctDynamicVectorTypes.h:48
vctDynamicVector< int > vctIntVec
Definition vctDynamicVectorTypes.h:40
vctDynamicVector< char > vctCharVec
Definition vctDynamicVectorTypes.h:42
vctDynamicVector< unsigned short > vctUShortVec
Definition vctDynamicVectorTypes.h:46
vctDynamicVector< bool > vctBoolVec
Definition vctDynamicVectorTypes.h:44
vctDynamicVector< unsigned int > vctUIntVec
Definition vctDynamicVectorTypes.h:41
vctDynamicVector< short > vctShortVec
Definition vctDynamicVectorTypes.h:45
vctFixedSizeMatrix< double, 3, 3 > vct3x3
Definition vctFixedSizeMatrixTypes.h:59
vctFixedSizeMatrix< double, 4, 4 > vct4x4
Definition vctFixedSizeMatrixTypes.h:70
Typedef for fixed size vectors.
vctFixedSizeVector< double, 8 > vct8
Definition vctFixedSizeVectorTypes.h:71
vctFixedSizeVector< double, 4 > vct4
Definition vctFixedSizeVectorTypes.h:51
vctFixedSizeVector< unsigned short, 6 > vctUShort6
Definition vctFixedSizeVectorTypes.h:211
vctFixedSizeVector< unsigned char, 9 > vctUChar9
Definition vctFixedSizeVectorTypes.h:256
vctFixedSizeVector< char, 6 > vctChar6
Definition vctFixedSizeVectorTypes.h:231
vctFixedSizeVector< bool, 1 > vctBool1
Definition vctFixedSizeVectorTypes.h:259
vctFixedSizeVector< unsigned int, 4 > vctUInt4
Definition vctFixedSizeVectorTypes.h:167
vctFixedSizeVector< bool, 6 > vctBool6
Definition vctFixedSizeVectorTypes.h:269
vctFixedSizeVector< unsigned char, 1 > vctUChar1
Definition vctFixedSizeVectorTypes.h:240
vctFixedSizeVector< unsigned short, 9 > vctUShort9
Definition vctFixedSizeVectorTypes.h:217
vctFixedSizeVector< unsigned short, 5 > vctUShort5
Definition vctFixedSizeVectorTypes.h:209
vctFixedSizeVector< unsigned char, 5 > vctUChar5
Definition vctFixedSizeVectorTypes.h:248
vctFixedSizeVector< unsigned char, 7 > vctUChar7
Definition vctFixedSizeVectorTypes.h:252
vctFixedSizeVector< int, 6 > vctInt6
Definition vctFixedSizeVectorTypes.h:151
vctFixedSizeVector< int, 7 > vctInt7
Definition vctFixedSizeVectorTypes.h:153
vctFixedSizeVector< float, 7 > vctFloat7
Definition vctFixedSizeVectorTypes.h:93
vctFixedSizeVector< unsigned long, 6 > vctULong6
Definition vctFixedSizeVectorTypes.h:131
vctFixedSizeVector< char, 3 > vctChar3
Definition vctFixedSizeVectorTypes.h:225
vctFixedSizeVector< double, 5 > vct5
Definition vctFixedSizeVectorTypes.h:56
vctFixedSizeVector< short, 2 > vctShort2
Definition vctFixedSizeVectorTypes.h:183
vctFixedSizeVector< unsigned long, 5 > vctULong5
Definition vctFixedSizeVectorTypes.h:129
vctFixedSizeVector< unsigned char, 3 > vctUChar3
Definition vctFixedSizeVectorTypes.h:244
vctFixedSizeVector< unsigned short, 8 > vctUShort8
Definition vctFixedSizeVectorTypes.h:215
vctFixedSizeVector< int, 1 > vctInt1
Definition vctFixedSizeVectorTypes.h:141
vctFixedSizeVector< unsigned short, 2 > vctUShort2
Definition vctFixedSizeVectorTypes.h:203
vctFixedSizeVector< char, 2 > vctChar2
Definition vctFixedSizeVectorTypes.h:223
vctFixedSizeVector< double, 3 > vct3
Definition vctFixedSizeVectorTypes.h:46
vctFixedSizeVector< int, 3 > vctInt3
Definition vctFixedSizeVectorTypes.h:145
vctFixedSizeVector< unsigned long, 9 > vctULong9
Definition vctFixedSizeVectorTypes.h:137
vctFixedSizeVector< unsigned short, 3 > vctUShort3
Definition vctFixedSizeVectorTypes.h:205
vctFixedSizeVector< unsigned int, 8 > vctUInt8
Definition vctFixedSizeVectorTypes.h:175
vctFixedSizeVector< bool, 9 > vctBool9
Definition vctFixedSizeVectorTypes.h:275
vctFixedSizeVector< float, 1 > vctFloat1
Definition vctFixedSizeVectorTypes.h:81
vctFixedSizeVector< unsigned long, 8 > vctULong8
Definition vctFixedSizeVectorTypes.h:135
vctFixedSizeVector< int, 5 > vctInt5
Definition vctFixedSizeVectorTypes.h:149
vctFixedSizeVector< float, 8 > vctFloat8
Definition vctFixedSizeVectorTypes.h:95
vctFixedSizeVector< int, 4 > vctInt4
Definition vctFixedSizeVectorTypes.h:147
vctFixedSizeVector< short, 9 > vctShort9
Definition vctFixedSizeVectorTypes.h:197
vctFixedSizeVector< unsigned int, 9 > vctUInt9
Definition vctFixedSizeVectorTypes.h:177
vctFixedSizeVector< unsigned char, 8 > vctUChar8
Definition vctFixedSizeVectorTypes.h:254
vctFixedSizeVector< unsigned int, 6 > vctUInt6
Definition vctFixedSizeVectorTypes.h:171
vctFixedSizeVector< short, 1 > vctShort1
Definition vctFixedSizeVectorTypes.h:181
vctFixedSizeVector< short, 8 > vctShort8
Definition vctFixedSizeVectorTypes.h:195
vctFixedSizeVector< long, 1 > vctLong1
Definition vctFixedSizeVectorTypes.h:101
vctFixedSizeVector< bool, 4 > vctBool4
Definition vctFixedSizeVectorTypes.h:265
vctFixedSizeVector< unsigned int, 3 > vctUInt3
Definition vctFixedSizeVectorTypes.h:165
vctFixedSizeVector< unsigned short, 1 > vctUShort1
Definition vctFixedSizeVectorTypes.h:201
vctFixedSizeVector< long, 5 > vctLong5
Definition vctFixedSizeVectorTypes.h:109
vctFixedSizeVector< unsigned long, 1 > vctULong1
Definition vctFixedSizeVectorTypes.h:121
vctFixedSizeVector< bool, 5 > vctBool5
Definition vctFixedSizeVectorTypes.h:267
vctFixedSizeVector< float, 2 > vctFloat2
Definition vctFixedSizeVectorTypes.h:83
vctFixedSizeVector< unsigned char, 6 > vctUChar6
Definition vctFixedSizeVectorTypes.h:250
vctFixedSizeVector< float, 3 > vctFloat3
Definition vctFixedSizeVectorTypes.h:85
vctFixedSizeVector< double, 2 > vct2
Definition vctFixedSizeVectorTypes.h:41
vctFixedSizeVector< short, 6 > vctShort6
Definition vctFixedSizeVectorTypes.h:191
vctFixedSizeVector< unsigned char, 2 > vctUChar2
Definition vctFixedSizeVectorTypes.h:242
vctFixedSizeVector< bool, 3 > vctBool3
Definition vctFixedSizeVectorTypes.h:263
vctFixedSizeVector< float, 9 > vctFloat9
Definition vctFixedSizeVectorTypes.h:97
vctFixedSizeVector< long, 6 > vctLong6
Definition vctFixedSizeVectorTypes.h:111
vctFixedSizeVector< long, 3 > vctLong3
Definition vctFixedSizeVectorTypes.h:105
vctFixedSizeVector< float, 4 > vctFloat4
Definition vctFixedSizeVectorTypes.h:87
vctFixedSizeVector< char, 4 > vctChar4
Definition vctFixedSizeVectorTypes.h:227
vctFixedSizeVector< unsigned int, 1 > vctUInt1
Definition vctFixedSizeVectorTypes.h:161
vctFixedSizeVector< double, 7 > vct7
Definition vctFixedSizeVectorTypes.h:66
vctFixedSizeVector< short, 3 > vctShort3
Definition vctFixedSizeVectorTypes.h:185
vctFixedSizeVector< unsigned long, 4 > vctULong4
Definition vctFixedSizeVectorTypes.h:127
vctFixedSizeVector< long, 4 > vctLong4
Definition vctFixedSizeVectorTypes.h:107
vctFixedSizeVector< bool, 2 > vctBool2
Definition vctFixedSizeVectorTypes.h:261
vctFixedSizeVector< char, 7 > vctChar7
Definition vctFixedSizeVectorTypes.h:233
vctFixedSizeVector< float, 6 > vctFloat6
Definition vctFixedSizeVectorTypes.h:91
vctFixedSizeVector< char, 1 > vctChar1
Definition vctFixedSizeVectorTypes.h:221
vctFixedSizeVector< unsigned int, 2 > vctUInt2
Definition vctFixedSizeVectorTypes.h:163
vctFixedSizeVector< double, 6 > vct6
Definition vctFixedSizeVectorTypes.h:61
vctFixedSizeVector< char, 8 > vctChar8
Definition vctFixedSizeVectorTypes.h:235
vctFixedSizeVector< unsigned int, 5 > vctUInt5
Definition vctFixedSizeVectorTypes.h:169
vctFixedSizeVector< long, 8 > vctLong8
Definition vctFixedSizeVectorTypes.h:115
vctFixedSizeVector< float, 5 > vctFloat5
Definition vctFixedSizeVectorTypes.h:89
vctFixedSizeVector< unsigned char, 4 > vctUChar4
Definition vctFixedSizeVectorTypes.h:246
vctFixedSizeVector< double, 9 > vct9
Definition vctFixedSizeVectorTypes.h:76
vctFixedSizeVector< int, 8 > vctInt8
Definition vctFixedSizeVectorTypes.h:155
vctFixedSizeVector< unsigned short, 7 > vctUShort7
Definition vctFixedSizeVectorTypes.h:213
vctFixedSizeVector< int, 9 > vctInt9
Definition vctFixedSizeVectorTypes.h:157
vctFixedSizeVector< int, 2 > vctInt2
Definition vctFixedSizeVectorTypes.h:143
vctFixedSizeVector< short, 5 > vctShort5
Definition vctFixedSizeVectorTypes.h:189
vctFixedSizeVector< long, 2 > vctLong2
Definition vctFixedSizeVectorTypes.h:103
vctFixedSizeVector< unsigned int, 7 > vctUInt7
Definition vctFixedSizeVectorTypes.h:173
vctFixedSizeVector< bool, 8 > vctBool8
Definition vctFixedSizeVectorTypes.h:273
vctFixedSizeVector< long, 7 > vctLong7
Definition vctFixedSizeVectorTypes.h:113
vctFixedSizeVector< char, 9 > vctChar9
Definition vctFixedSizeVectorTypes.h:237
vctFixedSizeVector< short, 4 > vctShort4
Definition vctFixedSizeVectorTypes.h:187
vctFixedSizeVector< char, 5 > vctChar5
Definition vctFixedSizeVectorTypes.h:229
vctFixedSizeVector< bool, 7 > vctBool7
Definition vctFixedSizeVectorTypes.h:271
vctFixedSizeVector< unsigned long, 3 > vctULong3
Definition vctFixedSizeVectorTypes.h:125
vctFixedSizeVector< unsigned short, 4 > vctUShort4
Definition vctFixedSizeVectorTypes.h:207
vctFixedSizeVector< unsigned long, 7 > vctULong7
Definition vctFixedSizeVectorTypes.h:133
vctFixedSizeVector< long, 9 > vctLong9
Definition vctFixedSizeVectorTypes.h:117
vctFixedSizeVector< short, 7 > vctShort7
Definition vctFixedSizeVectorTypes.h:193
vctFixedSizeVector< unsigned long, 2 > vctULong2
Definition vctFixedSizeVectorTypes.h:123
vctFrame4x4< double, VCT_ROW_MAJOR > vctFrm4x4
Definition vctTransformationTypes.h:153
vctFrameBase< vctRot3 > vctFrm3
Definition vctTransformationTypes.h:137