Difference between revisions of "Architecture:Data Types"

From The BABEL Development Site
(Data types)
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;
 +
 +
typedef float THomogeneousMatrix[4][4]; // Used to store a Homogeneous Matrix
 +
 +
// 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>

Revision as of 15:11, 17 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;

typedef float THomogeneousMatrix[4][4]; // Used to store a Homogeneous Matrix

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

}; // End of interface

}; // End of module

</cpp>