#ifndef ORGOMGC4IDOMAIN_MODELNAVIGATION_DOMAINREPORTINGEXTDEFVAR #define ORGOMGC4IDOMAIN_MODELNAVIGATION_DOMAINREPORTINGEXTDEFVAR #include "org__omg__c4i__Domain_Model__Navigation_Domain__Reporting.idl" #include "org__omg__c4i__Domain_Model__Navigation_Domain__Reporting__Navigation_Report.idl" module org { module omg { module c4i { module Domain_Model { module Navigation_Domain { module Reporting { module Ext { // A sequence of navigation report kinds. It is expected that this class will map to // implementation specific mechanisms in PSMs. typedef sequence navigation_report_kind_sequence_type; // A sequence type, to represent multiple values. typedef sequence navigation_covariance_value_type; // A sequence type, to represent multiple values. typedef sequence navigation_covariance_report_id_type; // This class encapsulates the covariance between the measurements in one or more // navigation_report_instances. The rows and columns of the triangular covariance // matrix relate to the (3) quantities from the first instance, optionally the (3) // quantities from each of the further instances and finally, optionally, time. // This, for instance allows the covariance between rotational attitude and position // to be represented or the covariance between rotational attitude, position, all // their rates of change and time. struct navigation_covariance_type { // The content of the triangular covariance matrix omitting symmetric (duplicate) // values. Valid lengths are sum(n=1..*; 3n) and sum(n=1..*; 3n+1). The sequence // starts 6, 10, 21, 28, 45, ... navigation_covariance_value_type value; // Whether time is included in the covariance - it is always represented in the last // row and column. boolean include_time; // The set of key values for the navigation report instances that the covariance // refers to navigation_covariance_report_id_type report_id; }; #ifndef DDS_XTYPES #pragma keylist navigation_covariance_type #endif }; }; }; }; }; }; }; #endif