Go to the documentation of this file.00001 #include "PoseWithCovarianceSplDcps.h"
00002 #include "ccpp_PoseWithCovariance.h"
00003
00004 const char *
00005 __PoseWithCovariance__name(void)
00006 {
00007 return (const char*)"PoseWithCovariance";
00008 }
00009
00010 const char *
00011 __PoseWithCovariance__keys(void)
00012 {
00013 return (const char*)"";
00014 }
00015
00016 #include <v_kernel.h>
00017 #include <v_topic.h>
00018 #include <os_stdlib.h>
00019 #include <string.h>
00020
00021 c_bool
00022 __PoseWithCovariance__copyIn(
00023 c_base base,
00024 struct PoseWithCovariance *from,
00025 struct _PoseWithCovariance *to)
00026 {
00027 c_bool result = TRUE;
00028
00029 if(result){
00030 extern c_bool __Pose__copyIn(c_base, Pose *, _Pose *);
00031 result = __Pose__copyIn(base, &from->pose, &to->pose);
00032 }
00033 {
00034
00035
00036 static c_type type0 = NULL;
00037 c_type subtype0;
00038 c_long length0;
00039 c_double *dest0;
00040 ::PoseWithCovariance::_covariance_seq *src = &from->covariance;
00041
00042 if (type0 == NULL) {
00043 subtype0 = c_type(c_metaResolve (c_metaObject(base), "c_double"));
00044 type0 = c_metaSequenceTypeNew(c_metaObject(base),"C_SEQUENCE<c_double,36>",subtype0,36);
00045 c_free(subtype0);
00046 }
00047 length0 = (c_long)(*src).length();
00048 #ifdef OSPL_BOUNDS_CHECK
00049 if(length0 > 36){
00050 result = FALSE;
00051 } else {
00052 dest0 = (c_double *)c_newSequence(c_collectionType(type0),length0);
00053 {
00054
00055 c_double *buf0;
00056 buf0 = (c_double *)(*src).get_buffer();
00057 memcpy (dest0,buf0,length0* sizeof(*dest0));
00058 }
00059 to->covariance = (c_sequence)dest0;
00060 }
00061 #else
00062 dest0 = (c_double *)c_newSequence(c_collectionType(type0),length0);
00063 {
00064
00065 c_double *buf0;
00066 buf0 = (c_double *)(*src).get_buffer();
00067 memcpy (dest0,buf0,length0* sizeof(*dest0));
00068 }
00069 to->covariance = (c_sequence)dest0;
00070 #endif
00071 }
00072 return result;
00073 }
00074
00075 void
00076 __PoseWithCovariance__copyOut(
00077 void *_from,
00078 void *_to)
00079 {
00080 struct _PoseWithCovariance *from = (struct _PoseWithCovariance *)_from;
00081 struct PoseWithCovariance *to = (struct PoseWithCovariance *)_to;
00082 {
00083 extern void __Pose__copyOut(void *, void *);
00084 __Pose__copyOut((void *)&from->pose, (void *)&to->pose);
00085 }
00086 {
00087 long size0;
00088 c_double *src0 = (c_double *)from->covariance;
00089 ::PoseWithCovariance::_covariance_seq *dst = &to->covariance;
00090
00091 size0 = c_arraySize(c_sequence(from->covariance));
00092 to->covariance.length(size0);
00093 {
00094 c_double *buf0;
00095 buf0 = (c_double *)(*dst).get_buffer();
00096 memcpy (buf0,src0,size0* sizeof(*buf0));
00097 }
00098 }
00099 }
00100