Difference between revisions of "Architecture:Data Types"

From The BABEL Development Site
(Data types)
(Data types defined in BABEL::COMMON)
 
(2 intermediate revisions by the same user not shown)
Line 5: Line 5:
  
  
= Data types =
+
= Data types defined in BABEL::COMMON =
  
<idl>
+
 
struct TLogicalDevice
+
<cpp>
 +
/*
 +
 
 +
BABEL IDL file automatically generated by BABEL v03.700
 +
accompanying the ICE module server_traker
 +
(C) Juan Antonio Fernández Madrigal, 2000-2004
 +
www.isa.uma.es/personal/jafma
 +
 
 +
*/
 +
 
 +
module BABEL
 
{
 
{
unsigned long id; // The numerical ID of each device
+
interface COMMON
string type; // The logical device type
+
{
boolean isChainingPoint; // Whether the device can be the base
+
/* --------------------- Pre-definitions ------------------------ */
//  for other devices.
+
struct ParamValue
unsigned long idOfBase; // The id of the base device
+
{
COMMMON::THomogeneousMatrix pose3D; // The 3D pose of this device relative
+
  string param;
//  to the base one.
+
  string value;
string implementation; // The name of the HAD layer module.
+
};
 +
typedef sequence<ParamValue> SeqOfParamValuePairs;
 +
 +
typedef sequence<string> SeqOfStrings;
 +
 +
typedef sequence<octet> SeqOfBytes;
 +
typedef sequence<boolean> SeqOfBools;
 +
 +
typedef sequence<float> SeqOfFloats;
 +
typedef sequence<double> SeqOfDoubles;
 +
 +
typedef sequence<short> SeqOfShorts;
 +
typedef sequence<unsigned short> SeqOfUShorts;
 +
typedef sequence<long> SeqOfLongs;
 +
typedef sequence<unsigned long> SeqOfULongs;
 +
 +
typedef sequence<unsigned long long> SeqOfULongLongs;
 +
 +
// Points, poses and matrices
 +
typedef double TMatrix33[3][3];
 +
typedef double TMatrix44[4][4];
 +
typedef double TPose2D[3];
 +
typedef double TPose3D[6];
 +
typedef double TPoint2D[2];
 +
typedef double TPoint3D[3];
 +
typedef sequence<TPoint2D> SeqOfPoints2D;
 +
typedef sequence<TPoint3D> SeqOfPoints3D;
 +
 
 +
 +
// Number of 100-nanosecond intervals since January 1, 1601 (UTC).
 +
typedef unsigned long long TTimeStamp;
  
COMMMON::SeqOfParamValuePairs params; // The params for the HAD module.
+
}; // End of interface
};
 
  
typedef sequence<TLogicalDevice> SeqOfLogicalDevices;
+
}; // End of module
  
</idl>
+
</cpp>

Latest revision as of 14:22, 20 May 2009

Previous: RPDs Next: Event Codes


Data types defined in BABEL::COMMON

<cpp> /*

BABEL IDL file automatically generated by BABEL v03.700 accompanying the ICE module server_traker (C) Juan Antonio Fernández Madrigal, 2000-2004 www.isa.uma.es/personal/jafma

  • /

module BABEL { interface COMMON { /* --------------------- Pre-definitions ------------------------ */ struct ParamValue { string param; string value; }; typedef sequence<ParamValue> SeqOfParamValuePairs;

typedef sequence<string> SeqOfStrings;

typedef sequence<octet> SeqOfBytes; typedef sequence<boolean> SeqOfBools;

typedef sequence<float> SeqOfFloats; typedef sequence<double> SeqOfDoubles;

typedef sequence<short> SeqOfShorts; typedef sequence<unsigned short> SeqOfUShorts; typedef sequence<long> SeqOfLongs; typedef sequence<unsigned long> SeqOfULongs;

typedef sequence<unsigned long long> SeqOfULongLongs;

// Points, poses and matrices typedef double TMatrix33[3][3]; typedef double TMatrix44[4][4]; typedef double TPose2D[3]; typedef double TPose3D[6]; typedef double TPoint2D[2]; typedef double TPoint3D[3]; typedef sequence<TPoint2D> SeqOfPoints2D; typedef sequence<TPoint3D> SeqOfPoints3D;


// Number of 100-nanosecond intervals since January 1, 1601 (UTC). typedef unsigned long long TTimeStamp;

}; // End of interface

}; // End of module

</cpp>