23 #ifndef _vctDataFunctionsTransformations_h
24 #define _vctDataFunctionsTransformations_h
32 #endif // CISST_HAS_JSON
34 template <
class _rotationType>
50 throw (std::runtime_error)
58 throw (std::runtime_error)
65 const char delimiter =
',')
66 throw (std::runtime_error)
69 outputStream << delimiter;
79 const std::string & userDescription =
"frm3")
81 const std::string prefix = (userDescription ==
"") ?
"" : (userDescription +
".");
82 std::stringstream description;
83 description << cmnData<TranslationType>::SerializeDescription(data.
Translation(), delimiter, prefix +
"Translation")
86 return description.str();
90 const char delimiter =
',')
91 throw (std::runtime_error)
111 const std::string & userDescription =
"frm3")
112 throw (std::out_of_range)
114 std::string prefix = (userDescription ==
"") ?
"" : (userDescription +
".");
116 if (index < scalarNumberTranslation) {
123 throw (std::out_of_range)
126 if (index < scalarNumberTranslation) {
134 template <
class _elementType,
bool _rowMajor>
148 throw (std::runtime_error)
155 throw (std::runtime_error)
161 const char delimiter =
',')
162 throw (std::runtime_error)
173 const std::string & userDescription =
"mr3")
179 const char delimiter =
',')
180 throw (std::runtime_error)
196 const std::string & userDescription =
"mr3")
197 throw (std::out_of_range)
203 throw (std::out_of_range)
211 template <
class _elementType,
bool _rowMajor>
225 throw (std::runtime_error)
232 throw (std::runtime_error)
238 const char delimiter =
',')
239 throw (std::runtime_error)
250 const std::string & userDescription =
"mr3")
256 const char delimiter =
',')
257 throw (std::runtime_error)
273 const std::string & userDescription =
"mr3")
274 throw (std::out_of_range)
280 throw (std::out_of_range)
286 #endif // _vctDataFunctionsTransformations_h
static void SerializeBinary(const DataType &data, std::ostream &outputStream)
Definition: vctDataFunctionsTransformations.h:49
static std::string HumanReadable(const DataType &data)
Definition: vctDataFunctionsTransformations.h:167
vctMatrixRotation3< _elementType, _rowMajor > DataType
Definition: vctDataFunctionsTransformations.h:139
DataType::TranslationType TranslationType
Definition: vctDataFunctionsTransformations.h:41
static std::string SerializeDescription(const DataType &data, const char delimiter= ',', const std::string &userDescription="mr3")
Definition: vctDataFunctionsTransformations.h:249
static size_t ScalarNumber(const DataType &data)
Definition: vctDataFunctionsTransformations.h:267
static std::string HumanReadable(const DataType &data)
Definition: vctDataFunctionsTransformations.h:73
static void SerializeText(const DataType &data, std::ostream &outputStream, const char delimiter= ',')
Definition: vctDataFunctionsTransformations.h:237
static size_t ScalarNumber(const DataType &data)
Definition: vctDataFunctionsTransformations.h:190
static std::string SerializeDescription(const DataType &data, const char delimiter= ',', const std::string &userDescription="frm3")
Definition: vctDataFunctionsTransformations.h:78
static void DeSerializeText(DataType &data, std::istream &inputStream, const char delimiter= ',')
Definition: vctDataFunctionsTransformations.h:89
static std::string HumanReadable(const DataType &data)
Definition: vctDataFunctionsTransformations.h:244
vctFrameBase< _rotationType > DataType
Definition: vctDataFunctionsTransformations.h:40
static void SerializeText(const DataType &data, std::ostream &outputStream, const char delimiter= ',')
Definition: vctDataFunctionsTransformations.h:64
static void Copy(DataType &data, const DataType &source)
Definition: vctDataFunctionsTransformations.h:44
static void SerializeBinary(const DataType &data, std::ostream &outputStream)
static void Copy(DataType &data, const DataType &source)
Definition: vctDataFunctionsTransformations.h:142
static std::string ScalarDescription(const DataType &data, const size_t &index, const std::string &userDescription="frm3")
Definition: vctDataFunctionsTransformations.h:110
static size_t ScalarNumber(const DataType &data)
Definition: vctDataFunctionsTransformations.h:104
Template base class for a 4x4 frame.
Definition: vctForwardDeclarations.h:236
static bool ScalarNumberIsFixed(const DataType &data)
Definition: vctDataFunctionsTransformations.h:262
ThisType & Assign(const ThisType &otherFrame)
Definition: vctFrameBase.h:111
static void SerializeText(const DataType &data, std::ostream &outputStream, const char delimiter= ',')
Definition: vctDataFunctionsTransformations.h:160
static void DeSerializeBinary(DataType &data, std::istream &inputStream, const cmnDataFormat &localFormat, const cmnDataFormat &remoteFormat)
Definition: vctDataFunctionsTransformations.h:153
DataType::RotationType RotationType
Definition: vctDataFunctionsTransformations.h:42
static void SerializeText(const DataType &data, std::ostream &outputStream, const char delimiter= ',')
static void DeSerializeBinary(DataType &data, std::istream &inputStream, const cmnDataFormat &localFormat, const cmnDataFormat &remoteFormat)
Definition: vctDataFunctionsTransformations.h:230
static std::string SerializeDescription(const DataType &data, const char delimiter= ',', const std::string &userDescription="mr3")
Definition: vctDataFunctionsTransformations.h:172
DataType::ContainerType ContainerType
Definition: vctDataFunctionsTransformations.h:217
static void SerializeBinary(const DataType &data, std::ostream &outputStream)
Definition: vctDataFunctionsTransformations.h:224
static bool ScalarNumberIsFixed(const DataType &data)
static void Copy(DataType &data, const DataType &source)
Definition: vctDataFunctionsTransformations.h:219
const TranslationType & Translation(void) const
Definition: vctFrameBase.h:188
static double Scalar(const DataType &data, const size_t &index)
Definition: vctDataFunctionsTransformations.h:202
static size_t ScalarNumber(const DataType &data)
DataType::ContainerType ContainerType
Definition: vctDataFunctionsTransformations.h:140
static double Scalar(const DataType &data, const size_t index)
Definition: cmnDataFunctions.h:53
static std::string ScalarDescription(const DataType &data, const size_t index, const std::string &userDescription="")
Definition: cmnDataFunctions.h:56
static bool ScalarNumberIsFixed(const DataType &data)
Definition: vctDataFunctionsTransformations.h:98
Implementation of a fixed-size matrix using template metaprogramming.
Definition: vctFixedSizeMatrix.h:52
static std::string ScalarDescription(const DataType &data, const size_t &index, const std::string &userDescription="mr3")
Definition: vctDataFunctionsTransformations.h:195
static std::string HumanReadable(const DataType &data)
static void DeSerializeBinary(DataType &data, std::istream &inputStream, const cmnDataFormat &localFormat, const cmnDataFormat &remoteFormat)
Definition: vctDataFunctionsTransformations.h:56
std::string ToString(void) const
Definition: vctFrameBase.h:646
vctFrame4x4< _elementType, _rowMajor > DataType
Definition: vctDataFunctionsTransformations.h:216
static void DeSerializeText(DataType &data, std::istream &inputStream, const char delimiter= ',')
Template base class for a frame.
Definition: vctForwardDeclarations.h:232
static std::string SerializeDescription(const DataType &data, const char delimiter, const std::string &userDescription="")
static void DeSerializeBinary(DataType &data, std::istream &inputStream, const cmnDataFormat &localFormat, const cmnDataFormat &remoteFormat)
static void SerializeBinary(const DataType &data, std::ostream &outputStream)
Definition: vctDataFunctionsTransformations.h:147
static double Scalar(const DataType &data, const size_t &index)
Definition: vctDataFunctionsTransformations.h:122
static void DeSerializeText(DataType &data, std::istream &inputStream, const char delimiter= ',')
Definition: vctDataFunctionsTransformations.h:255
static void Copy(DataType &data, const DataType &source)
static std::string ScalarDescription(const DataType &data, const size_t &index, const std::string &userDescription="mr3")
Definition: vctDataFunctionsTransformations.h:272
static double Scalar(const DataType &data, const size_t &index)
Definition: vctDataFunctionsTransformations.h:279
void CISST_EXPORT cmnDataDeSerializeTextDelimiter(std::istream &inputStream, const char delimiter, const char *className)
const RotationType & Rotation(void) const
Definition: vctFrameBase.h:196
static bool ScalarNumberIsFixed(const DataType &data)
Definition: vctDataFunctionsTransformations.h:185
_rotationType RotationType
Definition: vctFrameBase.h:56
Define a rotation matrix for a space of dimension 3.
Definition: vctForwardDeclarations.h:200
static void DeSerializeText(DataType &data, std::istream &inputStream, const char delimiter= ',')
Definition: vctDataFunctionsTransformations.h:178