openlvc / portico

Portico is an open source, cross-platform, fully supported HLA RTI implementation. Designed with modularity and flexibility in mind, Portico is a production-grade RTI for the Simulation and Training Community, so come say hi!
http://www.porticoproject.org
151 stars 81 forks source link

Add interface to enable attribute/parameter datatype queries #262

Closed BradyLeach closed 6 years ago

BradyLeach commented 6 years ago

This collection of interfaces enables the user to query the datatype of parameter and attributes. The interfaces include Basic, Simple, Enumerated, Array, FixedRecord, VariantRecord and NA datatypes. The main class that does the grunt work is the DatatypeRetrieval class.


Variation from the Java Interface

Accessor functionality for the Datatype interfaces. To keep data security and meet polymorphism constraints for the cpp compilation I have removed the setters. this data should not be modified by the end user.

Removed IEnumerator interface. The additional layer of abstraction was not required for the cpp portion... I think.


Variation from the Java Additions

Beside additions to the Java Proxy class, there was an additional class added for encoding the FOM datatypes into an XML object. Currently, this only exports the datatypes but should eventually have the rest of the FOM added.


Dependencies

For the FOM xml parsing, the pugixml library has been used. The .lib files and include have been added to the build process.


Unit Tests

The most basic unit test framework and DatatypeRetrieval tests have been added to the VS solution and build. It includes the testbed that is used for the HLA1.3 spec except updated for 1516e

michaelrfraser commented 6 years ago

Have rebased this branch against origin/master and resolved conflicts

BradyLeach commented 6 years ago

I will pick this up first thing tomorrow morning. I am about half way through.

BradyLeach commented 6 years ago

@michaelrfraser Hey dude, I think this is ready for round two. Just a couple of questions...

2 trains leave Darwin and Perth respectively, one travelling at 57KPH and the other 89 KPH. The Train from Perth has to one stop for 45 minutes. Given that both trains must travel 297 KM, how many margaritas could I drink in that time?