MAK Legion 1.1 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Typedefs | Enumerations | Functions | Variables
Legion Namespace Reference

Classes

struct  AttributeDescriptor
 An attribute descriptor describes a single attribute. More...
 
struct  AttributeSetDescriptor
 An attribute set descriptor describes a group of attributes that are treated as a single set of data this may be an entity, an IFF, a radio, etc. More...
 
class  AbstractFunctionCapture
 Abstract Callback template the base abstract callback class that is used internally to the delegate. More...
 
class  StaticFunctionCapture
 Static member function (or global function) callback is used to bind global or static class functions The return type and single parameter is parameterized in the template. More...
 
class  MethodCapture
 Member function callback is used to bind class member functions The return type, single parameter, object type and method pointer are parameterized in the template. More...
 
class  StdFunctionCapture
 std::function callback is used to bind std::functions, which are typically lambdas The return type and parameters define the type of std::function that can be bound More...
 
class  Callback
 Callback template for binding static or member functions for callback at later time The return type and parameters are parameterized in the template. More...
 
class  Callback< Ret(Params...)>
 
class  CallbackList
 The Callback list holds a list of Callback objects and manages adding/removing them from the list. More...
 
class  Configuration
 The configuration object parses the command line and loads a configuration file to provide the user configurable data to the application. More...
 
class  ControlInstance
 The control instance is an instance of a control. More...
 
class  ControlManager
 The control manager is responsible for creating and adding controls to the simulation database. More...
 
struct  ParameterDescriptor
 An parameter descriptor describes a single parameter in an event or control. More...
 
struct  ControlDescriptor
 A control descriptor describes the layout of a control. More...
 
struct  EventDescriptor
 An event descriptor describes the layout of an event. More...
 
class  EventInstance
 An EventInstance is a single instance of a simulation event such as Fire or Detonate. More...
 
class  EventManager
 The EventManager manages the creation and distribution of simulation events such as Fire and Detonate. More...
 
class  ObjectType
 The Object type contains a 7-digit tuple representing the type of a simulation entity Recommend following the SISO Enumerations for Simulation Interoperability document. More...
 
class  ReadStateInstance
 The ReadStateInstance is the base class of all read simulation object repository classes. More...
 
class  SimulationDatabase
 The SimulationDatabase stores all data for the simulation. It also owns the event, control, and view managers. More...
 
class  Span
 A span represents a contiguous array of objects in memory. More...
 
class  Vector2f
 
class  Vector2d
 
class  Vector3f
 
class  Vector3d
 
class  Vector4f
 
class  Vector4d
 
class  View
 The View is an abstract base class for class that provide read only access to instances of a single attribute set type. More...
 
class  SetView
 The SetView is a concrete view class that provides a view of the database for instances of a given type. More...
 
struct  ViewDescriptor
 View descriptor provides a way for the database ViewManager to create a view of a given type. More...
 
class  ViewManager
 The ViewManager creates and manages the views of a database. More...
 
class  WriteStateInstance
 The WriteStateInstance is the base class of all write simulation object repository classes. More...
 
class  Boundary
 
class  BoundaryEmpty
 Does not overlap any boundary including itself. More...
 
class  BoundaryFull
 Overlaps any boundary including itself. More...
 
class  BoundarySpatialPlanar
 A planar boundary with 2D lower and upper bounds. More...
 
class  BoundarySpatialSpherical
 
class  Connection
 
class  OwnershipManager
 

Typedefs

typedef UInt64 ConfigHandle
 
typedef UInt32 ControlId
 
typedef UInt32 ParameterId
 
typedef UInt64 ControlHandle
 
typedef UInt64 ControlManagerHandle
 
typedef unsigned char UInt8
 Typedefs for integer types. More...
 
typedef signed char Int8
 
typedef unsigned short UInt16
 
typedef short Int16
 
typedef unsigned int UInt32
 
typedef int Int32
 
typedef unsigned long long UInt64
 
typedef long long Int64
 
typedef UInt64 GlobalIdentifier
 a globally unique identifier More...
 
typedef UInt64 TransactionIdentifier
 
typedef UInt32 ClientId
 
typedef UInt8 Bool
 
typedef UInt32 EventId
 
typedef UInt64 EventHandle
 
typedef UInt64 EventManagerHandle
 
typedef UInt64 InstanceHandle
 
typedef UInt32 AttributeIndex
 
typedef UInt32 AttributeSetId
 
typedef UInt64 DatabaseHandle
 
typedef Callback< void(double)> BeginFrameCb
 
typedef Callback< void()> EndFrameCb
 
typedef UInt32 AttributeId
 
typedef UInt64 ViewHandle
 
typedef Callback< View
*(ViewHandle handle,
SimulationDatabase &database)> 
ViewCreator
 Typedef for a View Creation function. More...
 
typedef UInt64 ConnectionHandle
 
typedef UInt64 OwnershipManagerHandle
 
typedef Callback< void(TransactionIdentifier
transactionId, Span
< GlobalIdentifier > globalIds,
Span< char > privateData)> 
DivestitureRequestCallback
 Callback to handle requests to divest ownership of a given set of attribute instances The provided transaction ID is used in response to the associated request. More...
 
typedef Callback< void(TransactionIdentifier
transactionId, Span
< GlobalIdentifier > globalIds,
Span< char > privateData)> 
RequestRejectedCallback
 Callback that is called when an acquisition request is rejected. More...
 
typedef Callback< void(TransactionIdentifier
transactionId, Span
< GlobalIdentifier > globalIds,
Span< char > privateData)> 
AcquiredCallback
 Callback that is called when an acquisition request is accepted and ownership has been acquired. More...
 
typedef Callback< void(TransactionIdentifier
transactionId, Span
< GlobalIdentifier > globalIds,
Span< char > privateData)> 
InitiateAcquisitionRequestCallback
 Callback to handle requests to initiate an ownership acquisition of a given set of attribute instances from the given owner The provided transaction ID is used in response to the associated request. More...
 
typedef Callback< void(TransactionIdentifier
transactionId, Span
< GlobalIdentifier > globalIds,
InitiateAcquisitionResult
result, const std::string
exceptionDescription)> 
InitiateAcquisitionResultCallback
 Callback that is called to provide result of initiating ownership acquisition on another client. More...
 

Enumerations

enum  DataReflectablity { DataReflectablity::REFLECTED, DataReflectablity::NOT_REFLECTED }
 Attribute data reflectability. More...
 
enum  AttributeSetDependency { AttributeSetDependency::INDEPENDENT, AttributeSetDependency::DEPENDENT }
 Attribute data dependency. More...
 
enum  DataType {
  DataType::Bool, DataType::UInt8, DataType::Int8, DataType::UInt16,
  DataType::Int16, DataType::UInt32, DataType::Int32, DataType::UInt64,
  DataType::Int64, DataType::Float, DataType::Double, DataType::Vector2f,
  DataType::Vector2d, DataType::Vector3f, DataType::Vector3d, DataType::Vector4f,
  DataType::Vector4d, DataType::ObjectType, DataType::InstanceHandle
}
 Datatypes supported by the Legion infrastructure. More...
 
enum  TransportType : UInt8 { Reliable = 0, BestEffort = 1 }
 Transport option. More...
 
enum  ViewScope : UInt32 { ViewScope::Local = 0, ViewScope::Remote, ViewScope::All }
 View Scope selects if only local entities, remote (network) entities or a mix should be considered for the view. More...
 
enum  BoundaryType {
  BoundaryType::Empty, BoundaryType::Full, BoundaryType::SpatialPlanar, BoundaryType::SpatialSpherical,
  BoundaryType::Undefined
}
 
enum  BoundaryUseType { BoundaryUseType::Intent, BoundaryUseType::Interest }
 Use Boundary for intent or interest. More...
 
enum  InterestGranularity { FineGrained, CoarseGrained }
 Use fine grain (only overlapped objects) or coarse grain (all objects from overlapped client) More...
 
enum  InitiateAcquisitionResult { InitiateRejected, AcquisitionRejected, OwnershipAcquired, AcquireException }
 Primary Ownership Acquisition (ClientA is acquiring and ClientD is divesting) ClientA calls : requestOwnershipAcquisition(IDs) : Called by client to initiate a pull ownership transfer. More...
 

Functions

LEGION_DLL UInt32 dataTypeSize (DataType type)
 Returns the size in bytes of a data type. More...
 
LEGION_DLL std::ostream & operator<< (std::ostream &outputStr, const ObjectType &type)
 debugging output More...
 
template<typename OBJECT_TYPE >
OBJECT_TYPE createInstance (const DatabaseHandle &dbHandle)
 
LEGION_DLL Vector2f operator* (float scalar, const Vector2f &vec)
 
LEGION_DLL std::ostream & operator<< (std::ostream &outputStr, const Vector2f &vec)
 
LEGION_DLL Vector2d operator* (double scalar, const Vector2d &vec)
 
LEGION_DLL std::ostream & operator<< (std::ostream &outputStr, const Vector2d &vec)
 
LEGION_DLL Vector3f operator* (float scalar, const Vector3f &vec)
 
LEGION_DLL std::ostream & operator<< (std::ostream &outputStr, const Vector3f &vec)
 
LEGION_DLL Vector3d operator* (double scalar, const Vector3d &vec)
 
LEGION_DLL std::ostream & operator<< (std::ostream &outputStr, const Vector3d &vec)
 
LEGION_DLL Vector4f operator* (float scalar, const Vector4f &vec)
 
LEGION_DLL std::ostream & operator<< (std::ostream &outputStr, const Vector4f &vec)
 
LEGION_DLL Vector4d operator* (double scalar, const Vector4d &vec)
 
LEGION_DLL std::ostream & operator<< (std::ostream &outputStr, const Vector4d &vec)
 

Variables

const UInt16 BROADCAST_ADDR = 0xffff
 
static const UInt8 True = 1
 
static const UInt8 False = 0
 
const UInt32 VariableCardinality = 0xffffffff
 \ brief variable cardinality attributes use this value for the cardinality field. More...
 
const UInt32 BAD_INDEX = 0xFFFFFFFF
 
const UInt32 ALL_ATTRIBUTE_SETS = 0xffff
 

Typedef Documentation

typedef Callback< void(TransactionIdentifier transactionId, Span<GlobalIdentifier> globalIds, Span<char> privateData)> Legion::AcquiredCallback

Callback that is called when an acquisition request is accepted and ownership has been acquired.

typedef Callback<void (double)> Legion::BeginFrameCb
typedef Callback< void(TransactionIdentifier transactionId, Span<GlobalIdentifier> globalIds, Span<char> privateData)> Legion::DivestitureRequestCallback

Callback to handle requests to divest ownership of a given set of attribute instances The provided transaction ID is used in response to the associated request.

typedef Callback<void ()> Legion::EndFrameCb

a globally unique identifier

typedef Callback<void(TransactionIdentifier transactionId, Span<GlobalIdentifier> globalIds, Span<char> privateData)> Legion::InitiateAcquisitionRequestCallback

Callback to handle requests to initiate an ownership acquisition of a given set of attribute instances from the given owner The provided transaction ID is used in response to the associated request.

typedef Callback<void(TransactionIdentifier transactionId, Span<GlobalIdentifier> globalIds, InitiateAcquisitionResult result, const std::string exceptionDescription)> Legion::InitiateAcquisitionResultCallback

Callback that is called to provide result of initiating ownership acquisition on another client.

typedef short Legion::Int16
typedef int Legion::Int32
typedef long long Legion::Int64
typedef signed char Legion::Int8
typedef Callback<void(TransactionIdentifier transactionId, Span<GlobalIdentifier> globalIds, Span<char> privateData)> Legion::RequestRejectedCallback

Callback that is called when an acquisition request is rejected.

typedef unsigned short Legion::UInt16
typedef unsigned int Legion::UInt32
typedef unsigned long long Legion::UInt64
typedef unsigned char Legion::UInt8

Typedefs for integer types.

Typedef for a View Creation function.

Enumeration Type Documentation

Attribute data dependency.

Attribute dependency determines if this attribute set is a top level attribute set (an object) or an extension set that extends another set.

Enumerator
INDEPENDENT 
DEPENDENT 
enum Legion::BoundaryType
strong
Enumerator
Empty 
Full 
SpatialPlanar 
SpatialSpherical 
Undefined 

Use Boundary for intent or interest.

Enumerator
Intent 
Interest 

Attribute data reflectability.

Attribute reflectability allows for attribute to be reflected on the network or not. Attributes that are not reflected are still stored, but are not considered for sending. An attribute is made reflected or not when registered and may not change during runtime.

Enumerator
REFLECTED 
NOT_REFLECTED 
enum Legion::DataType
strong

Datatypes supported by the Legion infrastructure.

Enumerator
Bool 
UInt8 
Int8 
UInt16 
Int16 
UInt32 
Int32 
UInt64 
Int64 
Float 
Double 
Vector2f 
Vector2d 
Vector3f 
Vector3d 
Vector4f 
Vector4d 
ObjectType 
InstanceHandle 

Primary Ownership Acquisition (ClientA is acquiring and ClientD is divesting) ClientA calls : requestOwnershipAcquisition(IDs) : Called by client to initiate a pull ownership transfer.

ClientD gets a callback : ownershipDivestitureRequest(IDs) : Called to indicate a request for the client to divest the given attribute sets. ClientD chooses to accept or Reject ClientD chooses to reject ClientD calls : rejectOwnershipDivestitureRequest(IDs) : called by client to reject a pending divestiture indicated by prepareToDivest ClientA gets a callback : ownershipAcquisitionRequestRejected(IDs) : Called to indicate request to acquire ownership was rejected. ClientD chooses to accept ClientD calls : divestOwnership(IDs, dataToTransfer) : called by client to complete ownership divestiture for the given entities and supply private data to be provided to acquiring client on acquisition ClientA gets a callback : ownershipAcquired(IDs, dataToTransfer) : Called to indicate the given entities are now owned by the client and to provide private data supplied by the divesting client

3rd party initiation of ownership acquisition Client I calls : initiateOwnershipAcquisitionRequest(IDs) : Called by any application to ask the targeted application to initiate the ownership acquisition process. Client A gets a callback : ownershipAcquisitionInitiateRequest(IDs) : Called to indicate that another application has requested that the targeted federate initiate the ownership acquisition process. Client A Chooses to Comply or Reject Client A chooses to comply : Client A initiates the Ownership Acquisition Process described above Upon completion (rejected or successful acquisition) Client F gets a callback: initiateOwnershipAcquisitionRequestResult(either acquisition request rejected, or ownership acquired) Client A chooses to reject : A calls : rejectOwnershipAcquisitionInitiationRequest(IDs) F gets a callback: initiateOwnershipAcquisitionRequestResult(initiate request rejected) Indicates the result of initiating an ownership acquisition on another client

Enumerator
InitiateRejected 
AcquisitionRejected 
OwnershipAcquired 
AcquireException 

Use fine grain (only overlapped objects) or coarse grain (all objects from overlapped client)

Enumerator
FineGrained 
CoarseGrained 

Transport option.

Enumerator
Reliable 
BestEffort 
enum Legion::ViewScope : UInt32
strong

View Scope selects if only local entities, remote (network) entities or a mix should be considered for the view.

Enumerator
Local 
Remote 
All 

Function Documentation

template<typename OBJECT_TYPE >
OBJECT_TYPE Legion::createInstance ( const DatabaseHandle dbHandle)
LEGION_DLL UInt32 Legion::dataTypeSize ( DataType  type)

Returns the size in bytes of a data type.

LEGION_DLL Vector2f Legion::operator* ( float  scalar,
const Vector2f &  vec 
)
LEGION_DLL Vector2d Legion::operator* ( double  scalar,
const Vector2d &  vec 
)
LEGION_DLL Vector3f Legion::operator* ( float  scalar,
const Vector3f &  vec 
)
LEGION_DLL Vector3d Legion::operator* ( double  scalar,
const Vector3d &  vec 
)
LEGION_DLL Vector4f Legion::operator* ( float  scalar,
const Vector4f &  vec 
)
LEGION_DLL Vector4d Legion::operator* ( double  scalar,
const Vector4d &  vec 
)
LEGION_DLL std::ostream& Legion::operator<< ( std::ostream &  outputStr,
const ObjectType &  type 
)

debugging output

LEGION_DLL std::ostream& Legion::operator<< ( std::ostream &  outputStr,
const Vector2f &  vec 
)
LEGION_DLL std::ostream& Legion::operator<< ( std::ostream &  outputStr,
const Vector2d &  vec 
)
LEGION_DLL std::ostream& Legion::operator<< ( std::ostream &  outputStr,
const Vector3f &  vec 
)
LEGION_DLL std::ostream& Legion::operator<< ( std::ostream &  outputStr,
const Vector3d &  vec 
)
LEGION_DLL std::ostream& Legion::operator<< ( std::ostream &  outputStr,
const Vector4f &  vec 
)
LEGION_DLL std::ostream& Legion::operator<< ( std::ostream &  outputStr,
const Vector4d &  vec 
)

Variable Documentation

const UInt32 Legion::ALL_ATTRIBUTE_SETS = 0xffff
const UInt32 Legion::BAD_INDEX = 0xFFFFFFFF
const UInt16 Legion::BROADCAST_ADDR = 0xffff
const UInt8 Legion::False = 0
static
const UInt8 Legion::True = 1
static
const UInt32 Legion::VariableCardinality = 0xffffffff

\ brief variable cardinality attributes use this value for the cardinality field.


Document ID: Generated on Wed May 26 15:17:05 EDT 2021 from SVN revision 229676
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)