open-dis-cpp/1.0.1

C++ implementation of the IEEE-1278.1 Distributed Interactive Simulation (DIS) application protocol v6 and v7
Recipe info
2023-02-14

Available packages
Linux
Windows
macOS
macOS Apple Silicon

Install
Add the following line to your conanfile.txt:
[requires]
open-dis-cpp/1.0.1

Using open-dis-cpp

Note

If you are new with Conan, we recommend to read the section how to consume packages.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
open-dis-cpp/1.0.1
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("open-dis-cpp/1.0.1")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): OpenDIS (config), OpenDIS (module)
  • CMake target name(s): open-dis-cpp::open-dis-cpp
  • OpenDIS6 => OpenDIS::OpenDIS6
    OpenDIS7 => OpenDIS::OpenDIS7
    
  • pkg-config file name(s): open-dis-cpp.pc
  • OpenDIS6 => open-dis-cpp-OpenDIS6.pc
    OpenDIS7 => open-dis-cpp-OpenDIS7.pc
    

A simple use case using the CMake file name and the global target:

# ...
find_package(OpenDIS REQUIRED)
# ...
target_link_libraries(YOUR_TARGET open-dis-cpp::open-dis-cpp)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the open-dis-cpp homepage listed above:

#include "dis6/AcknowledgePdu.h"
#include "dis6/AcknowledgeReliablePdu.h"
#include "dis6/AcousticBeamData.h"
#include "dis6/AcousticBeamFundamentalParameter.h"
#include "dis6/AcousticEmitter.h"
#include "dis6/AcousticEmitterSystem.h"
#include "dis6/AcousticEmitterSystemData.h"
#include "dis6/ActionRequestPdu.h"
#include "dis6/ActionRequestReliablePdu.h"
#include "dis6/ActionResponsePdu.h"
#include "dis6/ActionResponseReliablePdu.h"
#include "dis6/AggregateID.h"
#include "dis6/AggregateMarking.h"
#include "dis6/AggregateStatePdu.h"
#include "dis6/AggregateType.h"
#include "dis6/AngularVelocityVector.h"
#include "dis6/AntennaLocation.h"
#include "dis6/ApaData.h"
#include "dis6/ArealObjectStatePdu.h"
#include "dis6/ArticulationParameter.h"
#include "dis6/BeamAntennaPattern.h"
#include "dis6/BeamData.h"
#include "dis6/BurstDescriptor.h"
#include "dis6/ClockTime.h"
#include "dis6/CollisionElasticPdu.h"
#include "dis6/CollisionPdu.h"
#include "dis6/CommentPdu.h"
#include "dis6/CommentReliablePdu.h"
#include "dis6/CreateEntityPdu.h"
#include "dis6/CreateEntityReliablePdu.h"
#include "dis6/DataPdu.h"
#include "dis6/DataQueryPdu.h"
#include "dis6/DataQueryReliablePdu.h"
#include "dis6/DataReliablePdu.h"
#include "dis6/DeadReckoningParameter.h"
#include "dis6/DesignatorPdu.h"
#include "dis6/DetonationPdu.h"
#include "dis6/DistributedEmissionsFamilyPdu.h"
#include "dis6/EightByteChunk.h"
#include "dis6/ElectromagneticEmissionBeamData.h"
#include "dis6/ElectromagneticEmissionSystemData.h"
#include "dis6/ElectromagneticEmissionsPdu.h"
#include "dis6/EmitterSystem.h"
#include "dis6/EntityID.h"
#include "dis6/EntityInformationFamilyPdu.h"
#include "dis6/EntityManagementFamilyPdu.h"
#include "dis6/EntityStatePdu.h"
#include "dis6/EntityStateUpdatePdu.h"
#include "dis6/EntityType.h"
#include "dis6/Environment.h"
#include "dis6/EnvironmentalProcessPdu.h"
#include "dis6/EventID.h"
#include "dis6/EventReportPdu.h"
#include "dis6/EventReportReliablePdu.h"
#include "dis6/FastEntityStatePdu.h"
#include "dis6/FirePdu.h"
#include "dis6/FixedDatum.h"
#include "dis6/FourByteChunk.h"
#include "dis6/FundamentalParameterData.h"
#include "dis6/FundamentalParameterDataIff.h"
#include "dis6/GridAxisRecord.h"
#include "dis6/GridAxisRecordRepresentation0.h"
#include "dis6/GridAxisRecordRepresentation1.h"
#include "dis6/GridAxisRecordRepresentation2.h"
#include "dis6/GriddedDataPdu.h"
#include "dis6/IffAtcNavAidsLayer1Pdu.h"
#include "dis6/IffAtcNavAidsLayer2Pdu.h"
#include "dis6/IffFundamentalData.h"
#include "dis6/IntercomCommunicationsParameters.h"
#include "dis6/IntercomControlPdu.h"
#include "dis6/IntercomSignalPdu.h"
#include "dis6/IsGroupOfPdu.h"
#include "dis6/IsPartOfPdu.h"
#include "dis6/LayerHeader.h"
#include "dis6/LinearObjectStatePdu.h"
#include "dis6/LinearSegmentParameter.h"
#include "dis6/LogisticsFamilyPdu.h"
#include "dis6/LogisticsPdu.h"
#include "dis6/Marking.h"
#include "dis6/MinefieldDataPdu.h"
#include "dis6/MinefieldFamilyPdu.h"
#include "dis6/MinefieldPduFamily.h"
#include "dis6/MinefieldQueryPdu.h"
#include "dis6/MinefieldResponseNackPdu.h"
#include "dis6/MinefieldStatePdu.h"
#include "dis6/ModulationType.h"
#include "dis6/NamedLocation.h"
#include "dis6/ObjectType.h"
#include "dis6/OneByteChunk.h"
#include "dis6/Orientation.h"
#include "dis6/Pdu.h"
#include "dis6/PduContainer.h"
#include "dis6/Point.h"
#include "dis6/PointObjectStatePdu.h"
#include "dis6/PropulsionSystemData.h"
#include "dis6/RadioCommunicationsFamilyPdu.h"
#include "dis6/RadioEntityType.h"
#include "dis6/ReceiverPdu.h"
#include "dis6/RecordQueryReliablePdu.h"
#include "dis6/RecordSet.h"
#include "dis6/Relationship.h"
#include "dis6/RemoveEntityPdu.h"
#include "dis6/RemoveEntityReliablePdu.h"
#include "dis6/RepairCompletePdu.h"
#include "dis6/RepairResponsePdu.h"
#include "dis6/ResupplyCancelPdu.h"
#include "dis6/ResupplyOfferPdu.h"
#include "dis6/ResupplyReceivedPdu.h"
#include "dis6/SeesPdu.h"
#include "dis6/ServiceRequestPdu.h"
#include "dis6/SetDataPdu.h"
#include "dis6/SetDataReliablePdu.h"
#include "dis6/SetRecordReliablePdu.h"
#include "dis6/ShaftRPMs.h"
#include "dis6/SignalPdu.h"
#include "dis6/SimulationAddress.h"
#include "dis6/SimulationManagementFamilyPdu.h"
#include "dis6/SimulationManagementWithReliabilityFamilyPdu.h"
#include "dis6/SixByteChunk.h"
#include "dis6/SphericalHarmonicAntennaPattern.h"
#include "dis6/StartResumePdu.h"
#include "dis6/StartResumeReliablePdu.h"
#include "dis6/StopFreezePdu.h"
#include "dis6/StopFreezeReliablePdu.h"
#include "dis6/SupplyQuantity.h"
#include "dis6/SyntheticEnvironmentFamilyPdu.h"
#include "dis6/SystemID.h"
#include "dis6/TrackJamTarget.h"
#include "dis6/TransferControlRequestPdu.h"
#include "dis6/TransmitterPdu.h"
#include "dis6/TwoByteChunk.h"
#include "dis6/UaPdu.h"
#include "dis6/VariableDatum.h"
#include "dis6/Vector3Double.h"
#include "dis6/Vector3Float.h"
#include "dis6/VectoringNozzleSystemData.h"
#include "dis6/WarfareFamilyPdu.h"
#include "dis6/opendis6_export.h"
#include "dis6/symbolic_names.h"
#include "dis6/utils/Conversion.h"
#include "dis6/utils/DataStream.h"
#include "dis6/utils/Endian.h"
#include "dis6/utils/IBufferProcessor.h"
#include "dis6/utils/IPacketProcessor.h"
#include "dis6/utils/IPduBank.h"
#include "dis6/utils/IncomingMessage.h"
#include "dis6/utils/Masks.h"
#include "dis6/utils/PDUBank.h"
#include "dis6/utils/PDUType.h"
#include "dis6/utils/PacketFactory.h"
#include "dis6/utils/PduFactory.h"
#include "dis6/utils/StreamUtils.h"
#include "dis7/AcknowledgePdu.h"
#include "dis7/AcknowledgeReliablePdu.h"
#include "dis7/AcousticEmitter.h"
#include "dis7/ActionRequestPdu.h"
#include "dis7/ActionRequestReliablePdu.h"
#include "dis7/ActionResponsePdu.h"
#include "dis7/ActionResponseReliablePdu.h"
#include "dis7/AggregateIdentifier.h"
#include "dis7/AggregateMarking.h"
#include "dis7/AggregateType.h"
#include "dis7/AngleDeception.h"
#include "dis7/AngularVelocityVector.h"
#include "dis7/AntennaLocation.h"
#include "dis7/ArealObjectStatePdu.h"
#include "dis7/ArticulatedParts.h"
#include "dis7/Association.h"
#include "dis7/AttachedParts.h"
#include "dis7/Attribute.h"
#include "dis7/AttributePdu.h"
#include "dis7/BeamAntennaPattern.h"
#include "dis7/BeamData.h"
#include "dis7/BeamStatus.h"
#include "dis7/BlankingSector.h"
#include "dis7/ClockTime.h"
#include "dis7/CollisionElasticPdu.h"
#include "dis7/CollisionPdu.h"
#include "dis7/CommentPdu.h"
#include "dis7/CommentReliablePdu.h"
#include "dis7/CommunicationsNodeID.h"
#include "dis7/CreateEntityPdu.h"
#include "dis7/CreateEntityReliablePdu.h"
#include "dis7/DataPdu.h"
#include "dis7/DataQueryDatumSpecification.h"
#include "dis7/DataQueryPdu.h"
#include "dis7/DataQueryReliablePdu.h"
#include "dis7/DataReliablePdu.h"
#include "dis7/DatumSpecification.h"
#include "dis7/DeadReckoningParameters.h"
#include "dis7/DesignatorPdu.h"
#include "dis7/DetonationPdu.h"
#include "dis7/DirectedEnergyAreaAimpoint.h"
#include "dis7/DirectedEnergyDamage.h"
#include "dis7/DirectedEnergyFirePdu.h"
#include "dis7/DirectedEnergyPrecisionAimpoint.h"
#include "dis7/DirectedEnergyTargetEnergyDeposition.h"
#include "dis7/DistributedEmissionsFamilyPdu.h"
#include "dis7/EEFundamentalParameterData.h"
#include "dis7/EightByteChunk.h"
#include "dis7/ElectromagneticEmissionBeamData.h"
#include "dis7/ElectromagneticEmissionSystemData.h"
#include "dis7/ElectromagneticEmissionsPdu.h"
#include "dis7/EmitterSystem.h"
#include "dis7/EngineFuel.h"
#include "dis7/EngineFuelReload.h"
#include "dis7/EntityAssociation.h"
#include "dis7/EntityDamageStatusPdu.h"
#include "dis7/EntityID.h"
#include "dis7/EntityInformationFamilyPdu.h"
#include "dis7/EntityManagementFamilyPdu.h"
#include "dis7/EntityMarking.h"
#include "dis7/EntityStatePdu.h"
#include "dis7/EntityStateUpdatePdu.h"
#include "dis7/EntityType.h"
#include "dis7/EntityTypeVP.h"
#include "dis7/Environment.h"
#include "dis7/EnvironmentGeneral.h"
#include "dis7/EnvironmentType.h"
#include "dis7/EulerAngles.h"
#include "dis7/EventIdentifier.h"
#include "dis7/EventIdentifierLiveEntity.h"
#include "dis7/EventReportPdu.h"
#include "dis7/EventReportReliablePdu.h"
#include "dis7/Expendable.h"
#include "dis7/ExpendableDescriptor.h"
#include "dis7/ExpendableReload.h"
#include "dis7/ExplosionDescriptor.h"
#include "dis7/FalseTargetsAttribute.h"
#include "dis7/FastEntityStatePdu.h"
#include "dis7/FirePdu.h"
#include "dis7/FixedDatum.h"
#include "dis7/FourByteChunk.h"
#include "dis7/FundamentalOperationalData.h"
#include "dis7/GridAxis.h"
#include "dis7/GroupIdentifier.h"
#include "dis7/IFFFundamentalParameterData.h"
#include "dis7/IFFPdu.h"
#include "dis7/IOCommunicationsNode.h"
#include "dis7/IOEffect.h"
#include "dis7/IffDataSpecification.h"
#include "dis7/IntercomCommunicationsParameters.h"
#include "dis7/IntercomIdentifier.h"
#include "dis7/IntercomSignalPdu.h"
#include "dis7/IsPartOfPdu.h"
#include "dis7/JammingTechnique.h"
#include "dis7/LaunchedMunitionRecord.h"
#include "dis7/LayerHeader.h"
#include "dis7/LinearObjectStatePdu.h"
#include "dis7/LinearSegmentParameter.h"
#include "dis7/LiveEntityIdentifier.h"
#include "dis7/LiveEntityPdu.h"
#include "dis7/LiveSimulationAddress.h"
#include "dis7/LogisticsFamilyPdu.h"
#include "dis7/MineEntityIdentifier.h"
#include "dis7/MinefieldFamilyPdu.h"
#include "dis7/MinefieldIdentifier.h"
#include "dis7/MinefieldResponseNackPdu.h"
#include "dis7/MinefieldStatePdu.h"
#include "dis7/ModulationParameters.h"
#include "dis7/ModulationType.h"
#include "dis7/Munition.h"
#include "dis7/MunitionDescriptor.h"
#include "dis7/MunitionReload.h"
#include "dis7/NamedLocationIdentification.h"
#include "dis7/ObjectIdentifier.h"
#include "dis7/ObjectType.h"
#include "dis7/OneByteChunk.h"
#include "dis7/OwnershipStatus.h"
#include "dis7/Pdu.h"
#include "dis7/PduContainer.h"
#include "dis7/PduHeader.h"
#include "dis7/PduStatus.h"
#include "dis7/PduSuperclass.h"
#include "dis7/PointObjectStatePdu.h"
#include "dis7/PropulsionSystemData.h"
#include "dis7/RadioCommunicationsFamilyPdu.h"
#include "dis7/RadioIdentifier.h"
#include "dis7/RadioType.h"
#include "dis7/ReceiverPdu.h"
#include "dis7/RecordQueryReliablePdu.h"
#include "dis7/RecordQuerySpecification.h"
#include "dis7/RecordSpecification.h"
#include "dis7/RecordSpecificationElement.h"
#include "dis7/Relationship.h"
#include "dis7/RemoveEntityPdu.h"
#include "dis7/RemoveEntityReliablePdu.h"
#include "dis7/RepairCompletePdu.h"
#include "dis7/RepairResponsePdu.h"
#include "dis7/ResupplyOfferPdu.h"
#include "dis7/ResupplyReceivedPdu.h"
#include "dis7/SecondaryOperationalData.h"
#include "dis7/SeesPdu.h"
#include "dis7/Sensor.h"
#include "dis7/SeparationVP.h"
#include "dis7/ServiceRequestPdu.h"
#include "dis7/SetDataPdu.h"
#include "dis7/SetDataReliablePdu.h"
#include "dis7/SimulationAddress.h"
#include "dis7/SimulationIdentifier.h"
#include "dis7/SimulationManagementFamilyPdu.h"
#include "dis7/SimulationManagementPduHeader.h"
#include "dis7/SimulationManagementWithReliabilityFamilyPdu.h"
#include "dis7/StandardVariableSpecification.h"
#include "dis7/StartResumePdu.h"
#include "dis7/StartResumeReliablePdu.h"
#include "dis7/StopFreezePdu.h"
#include "dis7/StopFreezeReliablePdu.h"
#include "dis7/StorageFuel.h"
#include "dis7/StorageFuelReload.h"
#include "dis7/SupplyQuantity.h"
#include "dis7/SyntheticEnvironmentFamilyPdu.h"
#include "dis7/SystemIdentifier.h"
#include "dis7/TotalRecordSets.h"
#include "dis7/TrackJamData.h"
#include "dis7/TwoByteChunk.h"
#include "dis7/UAFundamentalParameter.h"
#include "dis7/UaPdu.h"
#include "dis7/UnattachedIdentifier.h"
#include "dis7/UnsignedDISInteger.h"
#include "dis7/VariableDatum.h"
#include "dis7/VariableParameter.h"
#include "dis7/VariableTransmitterParameters.h"
#include "dis7/Vector2Float.h"
#include "dis7/Vector3Double.h"
#include "dis7/Vector3Float.h"
#include "dis7/VectoringNozzleSystem.h"
#include "dis7/WarfareFamilyPdu.h"
#include "dis7/opendis7_export.h"
#include "dis7/utils/DataStream.h"
#include "dis7/utils/Endian.h"