6#ifndef _cisstParameterTypes_prmBaseFrame_h
7#define _cisstParameterTypes_prmBaseFrame_h
138 cmnThrow(
"prmBaseFrame::ApplyTo: invalid base frame");
141 cmnThrow(
"prmBaseFrame::ApplyTo: only fixed base frames can be applied directly");
159 rotation.
ApplyTo(localLinear, withBaseLinear);
160 rotation.
ApplyTo(localAngular, withBaseAngular);
169 rotation.
ApplyTo(localForce, withBaseForce);
170 rotation.
ApplyTo(localTorque, withBaseTorque);
178 void ToStream(std::ostream & outputStream)
const override;
179 void ToStreamRaw(std::ostream & outputStream,
const char delimiter =
' ',
180 bool headerOnly =
false,
const std::string & headerPrefix =
"")
const override;
184 void SerializeBinary(std::ostream & outputStream)
const CISST_THROW(std::runtime_error);
186 void SerializeText(std::ostream & outputStream,
const char delimiter =
',') const
CISST_THROW(
std::runtime_error);
188 void DeSerializeText(
std::istream & inputStream, const
char delimiter =
',')
CISST_THROW(
std::runtime_error);
195 void SerializeTextJSON(Json::Value & jsonValue)
const override;
196 void DeSerializeTextJSON(
const Json::Value & jsonValue)
CISST_THROW(std::runtime_error)
override;
220 data.SerializeBinary(outputStream);
223 data.DeSerializeBinary(inputStream, localFormat, remoteFormat);
226 data.SerializeText(outputStream, delimiter);
229 data.DeSerializeText(inputStream, delimiter);
244 return data.Scalar(index);
248 outputStream << cmnData<prmBaseFrame >::HumanReadable(data);
252template <>
void CISST_EXPORT cmnDataJSON<prmBaseFrame >::SerializeText(
const prmBaseFrame & data, Json::Value & jsonValue);
static std::string SerializeDescription(const DataType &data, const char delimiter, const std::string &userDescription)
Definition prmBaseFrame.h:216
static size_t ScalarNumber(const DataType &data)
Definition prmBaseFrame.h:237
static std::string HumanReadable(const DataType &data)
Definition prmBaseFrame.h:231
static void DeSerializeText(DataType &data, std::istream &inputStream, const char delimiter=',') CISST_THROW(std
Definition prmBaseFrame.h:228
static void DeSerializeBinary(DataType &data, std::istream &inputStream, const cmnDataFormat &localFormat, const cmnDataFormat &remoteFormat) CISST_THROW(std
Definition prmBaseFrame.h:222
static void Copy(DataType &data, const DataType &source)
Definition prmBaseFrame.h:213
static void SerializeBinary(const DataType &data, std::ostream &outputStream) CISST_THROW(std
Definition prmBaseFrame.h:219
@ IS_SPECIALIZED
Definition prmBaseFrame.h:211
static void SerializeText(const DataType &data, std::ostream &outputStream, const char delimiter=',') CISST_THROW(std
Definition prmBaseFrame.h:225
static double Scalar(const DataType &data, const size_t index) CISST_THROW(std
Definition prmBaseFrame.h:243
static std::string ScalarDescription(const DataType &data, const size_t index, const std::string &userDescription="") CISST_THROW(std
Definition prmBaseFrame.h:240
static bool ScalarNumberIsFixed(const DataType &data)
Definition prmBaseFrame.h:234
prmBaseFrame DataType
Definition prmBaseFrame.h:212
Definition cmnDataFunctions.h:51
virtual std::string ScalarDescription(const size_t CMN_UNUSED(index), const std::string &CMN_UNUSED(userDescription)) const
Definition cmnGenericObject.h:154
virtual double Scalar(const size_t CMN_UNUSED(index)) const CISST_THROW(std
Definition cmnGenericObject.h:145
mtsGenericObject(void)
Definition mtsGenericObject.h:77
Definition mtsGenericObjectProxy.h:376
Definition prmBaseFrame.h:42
const vctFrm4x4 & transform(void) const
void DeSerializeText(std::istream &inputStream, const char delimiter=',') CISST_THROW(std std::string HumanReadable(void) const
Definition prmBaseFrame.h:189
bool Dynamic(void) const
Definition prmBaseFrame.h:130
prmBaseFrame(const prmBaseFrame &other)
vctFrm4x4 Gettransform(void) const
Definition prmBaseFrame.h:73
void Getcomponent(std::string &placeHolder) const
size_t ScalarNumber(void) const override
void Setcomponent(const std::string &newValue)
void ToStreamRaw(std::ostream &outputStream, const char delimiter=' ', bool headerOnly=false, const std::string &headerPrefix="") const override
void Getreference_frame(std::string &placeHolder) const
const std::string & component(void) const
std::string Getreference_frame(void) const
Definition prmBaseFrame.h:58
bool Fixed(void) const
Definition prmBaseFrame.h:126
void Copy(const prmBaseFrame &source)
void SerializeBinary(std::ostream &outputStream) const CISST_THROW(std void DeSerializeBinary(std::istream &inputStream, const cmnDataFormat &localFormat, const cmnDataFormat &remoteFormat) CISST_THROW(std void SerializeText(std::ostream &outputStream, const char delimiter=',') const CISST_THROW(std std::string SerializeDescription(const char delimiter=',', const std::string &userDescription="") const
Definition prmBaseFrame.h:187
vctFrm4x4 mtransform
Definition prmBaseFrame.h:67
std::string & reference_frame(void)
bool ValidDefinition(void) const
Definition prmBaseFrame.h:116
void DeSerializeRaw(std::istream &inputStream) override
vctFrm4x4 & transform(void)
void Settransform(const vctFrm4x4 &newValue)
std::string Getinterface(void) const
Definition prmBaseFrame.h:103
void Setinterface(const std::string &newValue)
void Gettransform(vctFrm4x4 &placeHolder) const
void Setreference_frame(const std::string &newValue)
void ApplyTo(const prmStateCartesian &local, prmStateCartesian &withBase) const
Definition prmBaseFrame.h:134
void SerializeRaw(std::ostream &outputStream) const override
std::string Getcomponent(void) const
Definition prmBaseFrame.h:88
std::string minterface
Definition prmBaseFrame.h:97
void ToStream(std::ostream &outputStream) const override
std::string mreference_frame
Definition prmBaseFrame.h:52
std::string & component(void)
bool ScalarNumberIsFixed(void) const override
std::string & interface(void)
void Getinterface(std::string &placeHolder) const
const std::string & interface(void) const
std::string mcomponent
Definition prmBaseFrame.h:82
const std::string & reference_frame(void) const
Definition prmStateCartesian.h:39
const bool & VelocityIsValid(void) const
const vct6 & Force(void) const
const bool & PositionIsValid(void) const
const bool & ForceIsValid(void) const
const std::string & ReferenceFrame(void) const
const vct6 & Velocity(void) const
const vctFrm3 & Position(void) const
Definition vctForwardDeclarations.h:86
vctFixedSizeVectorRef< _elementType, 3, _stride > XYZ(void)
Definition vctFixedSizeVectorBase.h:684
pointer Pointer(size_type index=0)
Definition vctFixedSizeVectorBase.h:226
Definition vctForwardDeclarations.h:89
static CISST_EXPORT const FrameValueType & Identity(void)
ThisType & From(const vctFrameBase< __rotationType > &other) CISST_THROW(std
Definition vctFrameBase.h:131
const RotationType & Rotation(void) const
Definition vctFrameBase.h:205
void ApplyTo(const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > &input, vctFixedSizeVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > &output) const
Definition vctMatrixRotation3ConstBase.h:156
Class registration macros.
#define CMN_DECLARE_SERVICES_INSTANTIATION(className)
Definition cmnClassRegisterMacros.h:199
const int CMN_DYNAMIC_CREATION
Definition cmnClassRegisterMacros.h:328
Defines cmnClassServices.
void cmnDeSerializeRaw(std::istream &inputStream, _elementType &data) CISST_THROW(std
Definition cmnDeSerializer.h:82
#define CISST_EXPORT
Definition cmnExportMacros.h:50
#define CMN_LOG_ALLOW_DEFAULT
Definition cmnLogLoD.h:76
#define CISST_THROW(exceptionParameter)
Somewhat portable compilation warning message. This works with very recent versions of gcc (4....
Definition cmnPortability.h:559
void cmnSerializeRaw(std::ostream &outputStream, const _elementType &data) CISST_THROW(std
Definition cmnSerializer.h:76
void cmnThrow(const _exceptionType &except, cmnLogLevel lod=CMN_LOG_LEVEL_INIT_ERROR)
Definition cmnThrow.h:76
std::ostream & operator<<(std::ostream &outputStream, const prmBaseFrame &data)
Definition prmBaseFrame.h:247
mtsGenericObjectProxy< prmBaseFrame > prmBaseFrameProxy
Definition prmBaseFrame.h:202
bool empty() const
Definition vctDynamicConstMatrixBase.h:274
ThisType & operator=(const vctDynamicConstMatrixBase< __matrixOwnerType, __elementType > &otherMatrix)
Definition vctDynamicMatrix.h:255
Declaration of vctFixedSizeVectorRef.